有时候为了得到更好的模型结果,你可能需要使用一个更大的batch-size去训练,但是自己的电脑gpu又带不动,那么这时候你就可以尝试去使用一些免费的线上训练网站了,下面我将介绍使用kaggle离线训练自己的神经网络模型步骤。
一、登录kaggle 直接百度搜索或者点击下面网址进入kaggle。
进入网站后如果没有注册可以先注册,按照提示注册即可,可以参考以下网址。kaggle注册
如图所示,依次点击‘Creat’、‘New Notebook’,
将会进入一个新的界面,在这里你就可以开始输入你的代码了。
首先准备好自己完整项目文件的压缩包(注意:需要包含数据集和所有的代码文件),通过‘+Add Data’导入自己的项目文件,kaggle将会自动解压缩到input文件夹下面。
然后,由于input文件夹属于只读文件夹,所以需要将input文件夹下的文件移动到working文件夹下。使用下列代码实现,(第一个为input下的数据集路径,第二个为你需要移动到的路径)。
#将input的文件移动到outputimport shutilshutil.copytree(r'../input/chatbot/Chatbot-master', r'./Chatbot-master')
四、安装相关库kaggle内置了许多常用的深度学习库,同样如果有些库没有也可以直接点击页面下方的‘Console’进入终端,直接使用pip install (你需要安装的库名称)安装。
五、写入代码 前置工作做完后,我们需要将所需要的代码输入进Code中,建议将训练所需要的函数全部输入到同一个Code中,避免在训练时调用自定义库的操作。
六、离线运行
当调试代码成功运行后,由于深度学习模型训练都需要耗费大量的时间,而像kaggle这种线上的训练网站可能会出现内核挂掉,所以我们可以在进入训练状态后选择保存此时的版本,让模型离线训练,这样我们就只要在训练完成后下载权重文件即可。
但是需要注意的:第一,虽然kaggle每周给予每人41小时的免费gpu时长,但是一次训练最长持续12个小时,超过时长则会自动停止训练。第二,当你选择保存版本离线训练时,需要注意此时离线训练的环境也在使用你的gpu免费训练时长,如果你不退出kaggle而是继续开启gpu看着模型训练,那么你将会使用两倍的gpu训练时长。
下面是离线训练的操作示例。
经过上述步骤我们就可以得到一个训练好的权重文件了,将权重文件下载出来就可以直接使用测试程序测试了。