本文不包含Kaggle的入门步骤,如何上传数据集,如何选择GPU自行学习
文章目录
- *开头的话*
- 一、Kaggle的使用
-
- 1、**为什么选择Kaggle**
- 2、Kaggle的操作难度
- 二、Yolox代码的更改
-
- 1.train.py更改
- 2.callbacks.py部分更改
- 3、训练数据的路径更改
- 4、正式训练
- *末尾的话*
开头的话
本文所用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
然后就可以看到训练提示了
末尾的话
由于本人也是新手,文章说明部分可能会有不清楚的部分,欢迎小伙伴们指出
最后附上一张呆呆兽的图片,希望有需求的小伙伴们能够顺利训练!!!!
近期评论