kaggle每周免费时长领取(如何在Kaggle上利用免费Gpu训练Yolox的模型)
本文不包含Kaggle的入门步骤 ,如何上传数据集 ,如何选择GPU自行学习
开头的话
本文所用yolox的代码来自bubbliiing的pytorch yolox项目
链接:https://blog.csdn.net/weixin_44791964/article/details/120476949
先上一张训练过程的图片
一 、Kaggle的使用
1 、为什么选择Kaggle
Kaggle是一个可以免费白嫖的算力平台,支持每周30h的gpu训练和每周20h的tpu训练 ,无论时用pytorch ,tensorflow ,还是Keras都已经提前支持好了 。
对比其他免费的算力平台 ,这个平台是没有显卡训练或则不想损伤自己电脑显卡的优选 。
但是对比国内openbayes操作难度略大 ,相对于百度飞桨来说不错(虽有免费算力 ,却只支持panddle ,安装其他环境会被中断 ,训练无法连贯)2、Kaggle的操作难度
一 、Kaggle跟其他平台一样有input和output两个子文件 ,但是input文件夹里只可读取 ,output文件夹里的数据只可写入 ,意思就是每次上传数据集和代码只能写好无错误才可以用 ,否则就只能在本地环境改好后重新上传 。
二 、因为input只可read和output只可write的关系,所以在input文件夹里是不可以进行文件复制和转移的 ,但是你却可以通过`以下代码进行复制 import shutil shutil.copytree(r../input/yours, r./yours)在kaggle中的路径中./就是/Kaggle/output,在yolox的项目中 ,含有太多py文件,在output文件里是没有python文件的(我试了两三次 ,不知道是什么原因 ,有知道的小伙伴可以帮帮) 3 、正确的操作方式
既然python文件在output中不可以用 ,那么就只能在input操作了 。针对yolox的代码 ,我们只需要更改输出路径就可以操作了 。
这里的输出路径我写的是 /Kaggle/output/logs二 、Yolox代码的更改
1.train.py更改
更改部分为更改save_dir的路径
#------------------------------------------------------------------# save_dir = /kaggle/working/los #------------------------------------------------------------------#2.callbacks.py部分更改
这里的更改只是确保代码在全程运行的时候不报错 ,实际上将map图像的路径与train的路径重复了 ,训练时不会生成map的图像和txt文件 ,如果有需求 ,可以自行更改路径:
self.map_out_path = log_dir3 、训练数据的路径更改
以下只包含对VOC数据的路径更改 ,在2007_train.txt和2007_val.txt进行更改 在kaggle上传数据集时要自己命名,这里的blueball是我自己dataset的命名 。
4 、正式训练
更改完所以需要更改的路径 ,就可以正式训练了 一 、切换到input路径 cell中输入
import os if os.path.basename(os.getcwd()) == working: os.chdir(../input/blueball/yolox-pytorch-main) print(current working directory is {}.format(os.getcwd())) print(os.getcwd()) print(os.listdir(os.getcwd()))或者
cd /kaggle/input/blueball二 、运行train.py程序
!python3 train.py然后就可以看到训练提示了
末尾的话
由于本人也是新手 ,文章说明部分可能会有不清楚的部分,欢迎小伙伴们指出
最后附上一张呆呆兽的图片 ,希望有需求的小伙伴们能够顺利训练!!!!创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!