无法预测Fastai中的输出

BK1*_*101 2 python machine-learning deep-learning conv-neural-network fast-ai

菜鸟在这里。

这是我正在使用的数据集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')
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用测试数据框进行预测。

BK1*_*101 6

All i had to do was create an Image List

train = ImageList.from_df(df,'../input/train/images')
test = ImageList.from_df(df_test, '../input/train/images')
Run Code Online (Sandbox Code Playgroud)

then create ImageDataBunch

data = ImageDataBunch.from_df('../input/train/images', df, 
ds_tfms=get_transforms(), size=224, bs=64 ).normalize(imagenet_stats)
Run Code Online (Sandbox Code Playgroud)

then add test

data.add_test(test)
Run Code Online (Sandbox Code Playgroud)

and then predict using

predictions, *_ = learn.get_preds(DatasetType.Test)
labels = np.argmax(predictions, 1)
df_test['category'] = labels
Run Code Online (Sandbox Code Playgroud)