本文不包含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_dir
3、训练数据的路径更改
以下只包含对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
然后就可以看到训练提示了
末尾的话
由于本人也是新手,文章说明部分可能会有不清楚的部分,欢迎小伙伴们指出
最后附上一张呆呆兽的图片,希望有需求的小伙伴们能够顺利训练!!!!
版权归原作者 呆呆兽老师 所有, 如有侵权,请联系我们删除。