python - 无法预测fastai的输出
问题描述
菜鸟在这里。
这是我正在处理的数据集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')
我不知道如何使用 Test Dataframe 进行预测。
解决方案
我所要做的就是创建一个图像列表
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
推荐阅读
- java - ServletFileUpload.isMultipartContent(request) 返回 false
- sql - 如何在 Laravel 中创建对 db 的查询?
- php - Laravel Cashier - $stripeToken 来自哪里?
- autofac - 在 .net 核心上使用 Autofac 注册和检索多个连接字符串
- kendo-grid - 防止在剑道网格的更改事件上重新加载数据源
- ios - tableviewcell 中加载的两个图像之一大于 imageView
- orchardcms - Orchard CMS:找不到自定义模块的页面
- excel - Excel中的计算条件?
- python - 用于大数据文件的 Scipy interp2d
- javascript - socket io - 它如何知道数据库中的数据是否更改?