Kaggle是什么
Kaggle
是一个数据建模和数据分析竞赛平台。企业和研究者可在其上发布数据,统计学者和数据挖掘专家可在其上进行竞赛以产生最好的模型。
在
Kaggle
,你可以:
参加竞赛赢取奖金。
Kaggle
上会发布一些赛题,做的好会赢得奖金。
下载数据集。
Kaggle
上包含了众多的数据集供大家免费下载,常见的数据集都可以在上面找到。
学习别人的代码。类似
GitHub
,你可以在
Kaggle
上学习冠军的代码来强化数据科学技能。
免费使用计算资源。
Kaggle
的
Kernels
功能允许你在浏览器编程、并通过服务器的
GPU
来加速你的计算。
讨论交流学习。
Kaggle
上有论坛交流功能,允许你与相同的爱好者一起交流学习。
学习
Python
、
ML
、
Pandas
、
DL
等技能。
Kaggle
上提供了免费的微课给大家学习,供初学者快速入门学习。
本篇文章侧重点是第
4
条,教你如何将自己的代码丢到
Kaggle
上训练。
注意,
Kaggle
目前只支持
Python
和
R
两种编程语言。
Kernel硬件配置
GPU
:Nvidia Tesla P100-PCIE-16GB 1.3285GHz
GPU连续使用时间
:6h
CPU Frequency
: 2.3GHz
RAM
:14GB
Disk
:5.2GB
登陆
Kaggle
官网
,注册账号并登陆。在
Kaggle
注册账号是免费的。
点击导航栏的
Kernels
我们以
Tensorflow
平台的
YoloV3-Tiny
模型在数据集
VOC2007
的训练为例,介绍如何使用
Kaggle
训练我们的模型,并保存结果,将模型下载到本地。
提示:
Kaggle
已经为我们准备好常用的环境了,无需我们从头搭建开发环境。一般直接用就好了。
首先我们要在本地弄好相关文件,再上传到
Kaggle
上去。
本地的准备参考这篇:
【AI实战】动手训练自己的目标检测模型(YOLO篇)
有关
YOLO
参考这篇:
用YOLO实现目标检测
然后按照实际情况修改
train.py
的相关参数,例如将
batch_size
改成
128
,
epochs
改小一点等等。
注意训练时间不能超过
6
个小时,否则
Kaggle
会自动关闭你的
Kernel
。
并且
Keras
版的
YOLO
的标签文件与
Darknet
版的不同,标签文件要重新生成。然后执行:
上传后不能在线修改你上传的东西,只能删除该压缩包(删除方法见第三节:再次训练)后重新上传(如果数据量巨大,重新上传十分费时)。所以最好需要确保第一次上传的东西就没有问题,否则更改会比较繁琐。
上传时,建议是分别上传几样东西(分别压缩打包上传):
模型的配置文件
训练的数据文件
模型
.h5
文件
上传方式:点击右侧白色的侧边状态栏中的
+ Add Data
按钮,在弹出的窗口中,点击右上角的
Upload
,然后选择文件去上传(只能上传单个文件,这就是为什么叫你打包压缩的原因)。
上传后,
Kaggle
会自动帮你解压缩,点击右边的文件树,点选其中的一个文件,会在左侧弹出白色的文件管理弹窗,弹窗的上端会显示该文件的路径:
点击中间的那个蓝色的按钮你可以复制路径到剪切板中。
当你上传了多个压缩包或文件时,路径的命名规则一般是这样的:
对于上传了文件:
../input/数据集的名字/上传的文件名字
对于上传了压缩包:
../input/数据集的名字/压缩包的名字/压缩包底下的路径
其中上述的
图片路径的
.txt
文件
不能单纯按照
【AI实战】动手训练自己的目标检测模型(YOLO篇)
来做,你要将路径替换成上述第二点描述的那样。因为你执行的主脚本文件并不是在你上传的东西里面,你需要使用类似
../input/XXX/XXX
的格式来调用你上传的东西。
对于脚本中的文件路径也是如此,类似于上述的第三点来做。否则会提示会找不到你上传的文件。实际上有关路径的一切东西都要按照上述的路径规则来做,否则就找不到文件。
如果提示
import
时找不到文件,这是因为你上传的包没有加入系统变量,那么你需要:
这里请根据你的实际情况修改上述
kaggle_path_prefix
的值。
这里
kaggle_path_prefix
目录下需要包含那个你刚刚上传的压缩包里名叫
yolo3
的
Python
包的文件夹。
保存文件的路径请直接填写文件名,像这样:
这是因为
input
文件夹是只读的,且保存到其他地方去无法输出下载,你也找不到输出的文件。况且当
Kernel
关闭后你的一切东西就会丢失。
运行并提交
点击顶部标题栏亮起的蓝色
Commit
按钮,以运行全部代码并保存结果,最后它会保存你输出的文件。
如果允许的窗口不慎点没了,可以右侧的
Versions
中,点击:
重新弹出运行的窗口(除非你点了
Cancel commit
)。
运行完毕后,点击:
来打开
Kernel
页面。
如果你有输出文件,在左侧的:
点击
Output
就可以切换到输出的文件列表,然后就可以下载你输出的文件啦,选中你想要的模型下载即可。
如果运行出错,请点击上图所示的
Log
查看错误日志(有必要时点击
Download Log
按钮下载日志到本地),按照错误提示修复错误即可。
只需将原本的模型文件数据集删除,然后再添加上传上去,再次
Commit
就好了。
删除数据集的步骤:
点击数据集旁边的那个红色的叉叉,将数据集从当前
Kernel
移除
点击自己的头像,进入
My Profile
页面,然后点击
Datasets