我是新手。
我正在处理的数据集是 https://www.kaggle.com/arpitjain007/game-of-deep-learning-ship-datasets
我使用的是fastai,已经成功构建了模型,但我不知道如何使用’test.csv’文件进行测试。
这是我的代码
from fastai import *from fastai.vision import *path = '../input/train'path = Path(path)path.ls()df = pd.read_csv(path/'train.csv')data = ImageDataBunch.from_df('../input/train/images', df, ds_tfms=get_transforms(), size=224, bs=64 ).normalize(imagenet_stats)learn = cnn_learner(data, models.resnet50, metrics=accuracy, model_dir='/kaggle/working/models')learn.fit_one_cycle(5)df_test = pd.read_csv('../input/test_ApKoW4T.csv')
我不知道如何使用测试数据框进行预测。
回答:
我所要做的就是创建一个图像列表
train = ImageList.from_df(df,'../input/train/images')test = ImageList.from_df(df_test, '../input/train/images')
然后创建ImageDataBunch
data = ImageDataBunch.from_df('../input/train/images', df, ds_tfms=get_transforms(), size=224, bs=64 ).normalize(imagenet_stats)
接着添加测试数据
data.add_test(test)
然后使用以下代码进行预测
predictions, *_ = learn.get_preds(DatasetType.Test)labels = np.argmax(predictions, 1)df_test['category'] = labels