美文网首页
如何在kaggle上使用fastai v1.0(下)

如何在kaggle上使用fastai v1.0(下)

作者: 一杯奶茶的功夫 | 来源:发表于2019-02-25 00:58 被阅读185次

接着上篇,我们已经在kaggle的notebook上导入了数据集,并且使用数据集训练了模型的最后几层。这一篇将带领大家完成预测(predict)功能,以及最后的提交(submission)。

从预测接着说吧。

1.预测

np.set_printoptions(precision=6, suppress=True)
test_result = learner.get_preds(ds_type=DatasetType.Test)

第一行为设置numpy输出格式(可选)
通过调用fastai的get_preds方法批量预测,参数DatasetType.Test则告诉程序自动寻找test数据测试集合

for i in range(0, 12):
    print(np.array(test_result[0][1][i*10:i*10+10]))
返回结果如图所示:

可以看到有一个值会特别高,这就是这条数据所对应的分类所在的位置。

2.提交

pd.options.display.float_format = '{:.6f}'.format
df = pd.DataFrame(np.array(test_result[0]))
df.columns = data.classes
df.head()

这里按照要求进行了数据的格式化,默认会以指数形式输出,这里用6位小数的浮点数来输出。
使用df.head()来确认一下数据。
返回结果如图所示:


看上去还不错。 不过按照要求,我们还缺少第一列id。接下来我们就为我们的dataframe加上id列的数据吧。
df.insert(0, "id", [e.name[:-4] for e in data.test_ds.x.items])

在fastai v1.0中,每个图片的文件名将存放在x.items.name中,所以我们这里需要把文件名最后的'.jpg'从字符串里面去除掉,只保留id。然后再次调用df.head()查看结果。

返回结果如图所示:

完美!

这里我们已经将所有的预测结果整理成了要求的提交格式。接着我们就可以导出csv文件了。

df.to_csv(f"dog-breed-identification-submission.csv", index=False)

好了。notebook中添加完这些内容之后,接着点击kaggle notebook上方的蓝色commit按钮,便会上传整个notebook并且自动运行,然后自动发布一个执行结果的网页。整个commit会花费一些时间运行脚本。


如图所示,图片的上半部分则是一个https的kaggle站内网页链接,可以直接访问。kaggle的其他用户可以通过这个页面查看到你的notebook。图片的下半部分则是commit的log部分。整个commit过程成功的话会显示Completed (code 0)

访问这个生成的notebook网页,找到output部分

可以看到,有一个submit to competition的按钮,点击它,我们的结果就会被提交到对应的比赛中啦^^


提交之后可以看到绿色的Complete,以及我们的成绩Score。如果是红色的Failed说明你提交的csv还有些问题。

OK,我们在Kaggle的第一个submission就完成啦。

如果有问题,欢迎来评论区留言讨论^^

参考链接
120-dogbreeds-fast-ai-v1-0-x-my-version(kaggle notebook)
使用fastai进行图像分类之120种小狗
Python_数据处理_pandas

相关文章

  • 如何在kaggle上使用fastai v1.0(上)

    这篇文章会教大家在kaggle上使用fastai v1.0来进行图片分类。 kaggle是一个在数据挖掘领域非常著...

  • 如何在kaggle上使用fastai v1.0(下)

    接着上篇,我们已经在kaggle的notebook上导入了数据集,并且使用数据集训练了模型的最后几层。这一篇将带领...

  • fastai教程

    学习fastai是因为上次在一个博客上看见一个兄弟用fastai非常容易的拿到了kaggle一个比赛的冠军,而且在...

  • Kaggle如何入门?

    从下面5个方面系统聊聊: 1)Kaggle是个什么东东? 2)什么人会使用Kaggle? 3)在Kaggle上做项...

  • kaggle竞赛:MNIST入门

    本文的代码见这里。 这里使用fastai v1来处理MNIST数据集,主要是希望fastai能和数据挖掘中的skl...

  • fastai的使用

    在sigsaw情感识别中尝试使用fastai,bert词嵌入和分类器来进行情感分类。 主要有以下几个问题 训练数据...

  • Kaggle-Titanic,跟着做

    Kaggle上的Titanic,先跟着别人做,学习下别人的特征工程和调参。https://www.kaggle.c...

  • 产品经理也能动手实践的AI(二)- 做个识别宠物的AI

    上一篇《产品经理也能动手实践的AI(一)- FastAI介绍》,介绍了为什么选择FastAI,为什么适合产品经理,...

  • 如何使用Kaggle?

    Tensor Processing Units (TPUs) 现在可以在Kaggle上免费使用TPU。 TPU是专...

  • Image classification with FastAI

    之前一篇文章介绍了FastAI v0.7中处理dogscats数据集的过程。这一篇则介绍一下FastAI v1.0...

网友评论

      本文标题:如何在kaggle上使用fastai v1.0(下)

      本文链接:https://www.haomeiwen.com/subject/qcqiyqtx.html