手把手教你打kaggle竞赛part-1

文章目录

  • 一、引言
  • 二、kaggle相关介绍
  • 三、开始训练
    • 3.1、线上训练
    • 3.2、线下训练
    • 3.3、线上提交
  • 四、删除上传数据集
  • 五、后续计划

一、引言

  • 本系列博客将介绍如何在kaggle平台上打比赛,手把手教你入门kaggle。

二、kaggle相关介绍

  • 还不知道kaggle是什么?百度知乎走起!
    拿最新的木薯叶疾病分类竞赛举例:Cassava Leaf Disease Classification手把手教你打kaggle竞赛part-1_第1张图片
红色功能框

1、Overview

  • 赛题的相关描述(Description);采用acc作为评价指标(Evaluation),分类/检测竞赛一般还有F1、mAP等;加入比赛/团队合并/比赛结束时间节点(Timeline);竞赛形式为奖金赛(Prizes);代码提交规范等(Code Requirements)。
    注意:现在kaggle竞赛均通过Notebooks提交结果,平台本身提供CPU、GPU、TPU资源,但有运行时间限制,且TPU不允许提交成绩,禁止网络连接,提交文件必须命名为“ submission.csv”。
    Tips:如果有GPU资源,建议线下训练模型,线上提交成绩,没有资源的同学可以多薅kaggle和谷歌colab羊毛,下面会讲到具体怎么薅。

2、Data

  • 整个竞赛数据集。训练集/测试集(jpg图片格式和tfrecords格式,tfrecord格式可用于TPU加速加载数据集)、训练标签文件train.csv、提交示例文件sample_submission.csv、疾病名称和代码标签映射文件label_num_to_disease_map.json。
    数据集可通过网页浏览器直接下载,也可通过kaggle API下载,参考链接:Kaggle API快速下载数据集以及jupyter notebook添加内核。

3、Notebooks(重点!!!)

  • 各路大神发布的baseline。baseline是什么?通俗说就是答案,大佬把解决方案都放出来了,你拿去跑一跑就可以得到结果,提交结果就能得到成绩啦!

4、Discussion(重点!!!)

  • 竞赛交流论坛,很多选手会发布一些上分技巧/心得。如果想上分,跟紧discussion!

5、Leaderboard

  • 成绩排行榜(公榜Public LB和私榜Private LB),公榜和私榜得分基于不同占比测试集,最终成绩以私榜为准!

6、Rules

  • 竞赛规则、团队人数要求、结果提交要求等。

三、开始训练

  • 新手入门当然是先去Notebooks区找到适合自己的baseline,把整个比赛流程跑通,然后才考虑上分。Filters和Hotness区可选择擅长的语言(Python/R),是否使用GPU,Pytorch/Tensorflow或者关键词搜索等。
    手把手教你打kaggle竞赛part-1_第2张图片
  • 我在本次竞赛中参考的baseline:训练baseline / 推理baseline
    手把手教你打kaggle竞赛part-1_第3张图片
    图1. 训练baseline

3.1、线上训练

  • 见上图1,点击Edit My Copy进入到代码编辑区,修改代码后(Settings中打开GPU)点击Save Version即可运行训练代码,等待训练结束即可去保存的Version版本中找到Output,就能得到训练好的模型文件了。

3.2、线下训练

  • 在上图1,点击Download code下载.ipynb文件到本地后,用jupyter notebook打开后就可以训练啦,如果使用Anaconda不会安装jupyter环境,请看:Kaggle API快速下载数据集以及jupyter notebook添加内核。
    Tips:建议使用jupyter notebook工具,PyCharm等软件不直接支持.ipynb格式,且代码可能运行出错。
    手把手教你打kaggle竞赛part-1_第4张图片
图2. 代码编辑区

手把手教你打kaggle竞赛part-1_第5张图片

3.3、线上提交

  • 得到训练模型后,需要在kaggle上运行推理baseline,得到结果并提交成绩。见图2,点击Add data上传线下训练好的模型文件,修改相应路径后,设置GPU,且关闭Internet,运行结束后,去对应保存的Version版本中找到Output,点击Submit提交submission.csv即可得到成绩。

四、删除上传数据集

  • 每一次上传的数据集都可以编辑对应标题,也方便记录哪些线下训练模型可以提升LB分数,若数据集上传内存不足则需要及时清理。
    手把手教你打kaggle竞赛part-1_第6张图片
    手把手教你打kaggle竞赛part-1_第7张图片

五、后续计划

  • 该篇文章适用新手熟悉kaggle平台,保证能跑通整个竞赛流程得到基础结果。竞赛结束后,我会结合之前打的比赛,做一期如何上分的文章,弄清楚baseline中各部分作用是什么?修改哪些代码可尝试上分等等。

你可能感兴趣的:(Kaggle,人工智能,kaggle,计算机视觉)