一直想在kaggle上参加一个比赛,近期看见又一个病害分类的比赛出来了,不说了,必须抓住机会,不能再拖延!
初学者怎么使用kaggle
点入一个competition,可以看到
其中:
overview:比赛方对比赛概况的介绍,解决什么问题,难点是什么?以及评分方式,提交的时间节点(重要)【审题】
data:数据,介绍和下载地址
notebooks:开源的代码
discussion:多去看,高手对比赛的认识和分析,一些提分点
notebooks和discussion相当于两个社区
leaderboard:排行榜,A榜B榜情况 A榜成绩好≠B榜成绩好(防止过拟合)
rules:规则
Team:组队介绍
kaggle-kernel教程
如何找baseline
点击notebook hotness 下面可以选择best score找到当前分数最高的模型
注意 code competition不是只提交结果文件,而是要用notebook来提交
怎么使用notebook
先找一个现在分数最高的做一个流程练习
点入第一个人的notebook
可以看到他现在在A榜的分数是0.898,然后点copy and Edit就可以把这份代码变成自己的
变成自己的后就可以修改代码了,注意:每个人每周有固定的GPU时长,notebook不用的情况下要关掉
input部分
可以用比赛数据集,也可以用外部数据集,也可加载自己的模型
- 点击Add data后,可点击 your dataset进行上传
- 也可以在导航栏点data,然后点new dataset上传(注意,上传文件要开vpn)
可以本地把模型训练好,然后把模型pth加载进来,直接做预测
save version
点击提交,必须点SAVE VERSION,要把notebook跑一边
save run all是从头到尾跑一遍(能够提交)
quick save只是保存,不能提交
我点了save runall 就开始跑了
最后会显示一个跑成功了,没截图下来
然后可以从边框栏的recently viewed找到刚刚跑完的notebook
然后在右面有个output
可以看到个submit,点击submit才能真正提交
然后可以选择提交的notebook和版本,点击提交会出现如下提示
提交的notebook会从头再运行一遍,主要是在隐藏的那些测试集上跑
提交的代码不是所有人都能看到,notebook如果是打开的,别人就能看到,锁上只有自己看到
kernel技巧
kernel环境:
- 内存:16G
- GPU:16G,1080ti速度(每周固定的时间30-40小时)
- 联网:训练时可以打开,提交必须关闭
Dataset使用:
- Dataset可以读取模型、读取数据、安装库
- Dataset还可以用于快速提交公开榜单的结果
- 上传数据需要开代理,需要确定具体的数据版本
- 推荐使用kaggle-API上传数据,网速更稳定
kaggle反作弊机制:
- 任何Dataset或notebook不能私下分享(有严格的查重机制)
- 不要打任何擦边球,用多个账号
特别注意:
- save and run提交代码后会一直转,跑代码的时间可能会比较长,这个时候把网页关了是没问题的,他会在后台去跑的,之后进入刚刚提交的版本,如果出现结果的csv文件就是跑好了,就可以去提交csv看分数了;如果显示一堆代码,就是还在跑。
- 提交代码的时候internet按钮不能开,所以如果代码里有需要连接internet的部分,需要在提交前自己处理好,测试时是不允许用internet的