AutoDL+pycharm+yolov5远程租服务器训练数据集

自己电脑算力简直太差劲了,在AUTOdl上租个0.88/h的服务器跑yolov5代码,找了好多教程,鼓弄了两天时间我的代码才算能跑起来,感觉市面上的博客写的都不够详细,包括我遇到的一些问题,我整理了一下发出来也供自己参考

目录

1.AutoDL租用服务器

2.下载&Pycharm远程开发

2.1 下载专业版pycharm

2.2 正确打开pycharm

2.3 pycharm远程开发

3.正文:训练train.py

3.1 上传文档

3.2 打开终端

3.3 如何将服务器端的runs中训练结果导出到本地

4.整个过程中我遇到的问题以及解

4.1 train.py过程中

4.2 英文译文大概意思:图片无法打开

4.3训练中断后想继续训练

4.4训练完轮数后发现还想多训练几轮

4.5 设置pycharm远程连接时遇到SFTP连接不上的问题

5 配置好环境了想训练只需要更改一下几行代码

5.1 train.py中

5.2 parameter.yaml文件中

5.3 detect.py中



1.AutoDL租用服务器

AutoDL-品质GPU租用平台-租GPU就上AutoDL打开官网后选择 计费方式 GPU型号数量(我猜服务器越好的越贵)

租完之后再传输文件时可以选择无卡模式开机(省钱)

等真正训练train.py时再正常开机

但是很可能这个服务器就被别人给占用了

AutoDL+pycharm+yolov5远程租服务器训练数据集_第1张图片


注:镜像最好不要选择社区镜像

有的小伙伴想训练yolov5,刚好社区镜像里有,心思方便了不用配环境了,大错特错!我刚踩完这个坑,后续运行超级费劲(可能是我不会搞)而且看了这么多教程都没有搞社区镜像的,大家按部就班来吧还是


AutoDL+pycharm+yolov5远程租服务器训练数据集_第2张图片

我选的是PyTorch1.11.0+Python3.8(ubuntu20.04)+Cuda11.3

AutoDL+pycharm+yolov5远程租服务器训练数据集_第3张图片

2.下载&Pycharm远程开发

2.1 下载专业版pycharm

Pycharm专业版安装详细教程!_pycharm专业版安装教程_初识-CV的博客-CSDN博客Pycharm官网地址(下载):https://link.zhihu.com/?target=https%3A//www.jetbrains.com/pycharm/download/other.html有各种不同版本的Pycharm供下载,本文选择Pycharm专业版下载,建议下载2020.1.5版本.安装教程下载完成之后,就按照步骤开始安装了,点击Next:我选择安装在F盘,因为C盘太占用空间了,会比较卡,点击Next:一定要选着添加到环境变量中,不然后面还要手动配置环境变量,比较麻烦,https://blog.csdn.net/qq_38410428/article/details/118912777

2.2 正确打开pycharm

点击这里

2.3 pycharm远程开发

放一个AutoDL的帮助文档

AutoDL帮助文档AutoDL+pycharm+yolov5远程租服务器训练数据集_第4张图片https://www.autodl.com/docs/pycharm/ps:最后一步打开远程终端的下拉箭头pycharm2020版本没有,可以选择JupyterLab打开终端

AutoDL+pycharm+yolov5远程租服务器训练数据集_第5张图片

AutoDL+pycharm+yolov5远程租服务器训练数据集_第6张图片

3.正文:训练train.py

3.1 上传文档

具体请参考这篇

Xftp使用教程——远程传输YOLOv5到autodl上_邸笠佘司的博客-CSDN博客如何通过xftp上传文件至autodl端https://blog.csdn.net/m0_68738477/article/details/130885377?spm=1001.2014.3001.5501将yolo文件夹整成zip压缩包,打开xftp软件进行文件传输

或者将文件拖拽到JupyterLab的左侧文件夹位置(我觉得速度有点慢)

AutoDL+pycharm+yolov5远程租服务器训练数据集_第7张图片

3.2 打开终端

使用unzip命令将压缩包解压到服务器端

unzip yolov5 revised.zip

 进入文件夹,输入

cd yolov5 revised
conda init   #输入后退出终端在进入终端 进行环境激活

AutoDL+pycharm+yolov5远程租服务器训练数据集_第8张图片

cd yolov5-revised     #进入到文件夹
pip install -r requirements.txt    #安装剩余的包

AutoDL+pycharm+yolov5远程租服务器训练数据集_第9张图片

 更改train中的model.yaml的路径以及parameter中的path、train、val的路径

AutoDL+pycharm+yolov5远程租服务器训练数据集_第10张图片

 ​AutoDL+pycharm+yolov5远程租服务器训练数据集_第11张图片

输入如下进行训练

python train.py

共花了1.994h,训练结束如下AutoDL+pycharm+yolov5远程租服务器训练数据集_第12张图片

 更改detect文件中的这几个路径

输入如下进行测试集训练,测试结束如下,训练结果保存在服务器的文件夹里

python detect.py

AutoDL+pycharm+yolov5远程租服务器训练数据集_第13张图片

3.3 如何将服务器端的runs中训练结果导出到本地

输入如下,将数据打包到runs.tar.gz中

tar -cvf runs.tar.gz runs/

中间runs.tar.gz的runs可以改成自己想要打包成gz文件的文件名字
runs/为yolov5文件夹下的runs文件夹,意思是将runs文件夹下的所有内容都打包,有些费时间
可以将最后的一个exp文件打包下载,如下所示

tar -cvf exp35.tar.gz runs/detect/exp35/

AutoDL+pycharm+yolov5远程租服务器训练数据集_第14张图片

AutoDL+pycharm+yolov5远程租服务器训练数据集_第15张图片

AutoDL+pycharm+yolov5远程租服务器训练数据集_第16张图片

 将文件转移到自己本地目录下的yolov5/runs的文件下就好了

4.整个过程中我遇到的问题以及解

4.1 train.py过程中

报错:pandas._config.config.OptionError:"No such keys(s): 'mode.use_inf_as_null'"

解答:
pip install --upgrade panads
pip install pandas==0.25.3

4.2 英文译文大概意思:图片无法打开

报错:
global /io/opencv/modules/imgcodecs/src/loadsave.cpp (239) findDecoder imread_(...) can't open/read file: check file path/integrity
或
assertionerror: image not found .............

解答:删除datasets/labels中的train.ache和test.cache

AutoDL+pycharm+yolov5远程租服务器训练数据集_第17张图片

4.3训练中断后想继续训练

将default=False改成True(别忘记重新训练的时候需要改回False)

AutoDL+pycharm+yolov5远程租服务器训练数据集_第18张图片

4.4训练完轮数后发现还想多训练几轮

在改变输入参数中的epochs后没有效果,同时修改runs结果文件中的opt.yaml文件。将其中的epochs修改为想要参数才成功。

4.5 设置pycharm远程连接时遇到SFTP连接不上的问题

AutoDL+pycharm+yolov5远程租服务器训练数据集_第19张图片

重新创建一个新的连接服务器的界面就好了

5 配置好环境了想训练只需要更改一下几行代码

第一次配置好环境后并不需要每一次都重新配置环境(当然你更改租用的服务器得重新配置),那么我们需要修改哪些代码可以跳过配置直接运行呢?

5.1 train.py中

    parser.add_argument('--cfg', type=str, default='datasets/helmet model.yaml', help='model.yaml path')
    parser.add_argument('--data', type=str, default='datasets/helmet parameter.yaml', help='dataset.yaml path')
 parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

5.2 parameter.yaml文件中

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
path: ./datasets
train: ./datasets/images/train  # 128 images
val: ./datasets/images/test  # 128 images

5.3 detect.py中

 parser.add_argument('--weights', nargs='+', type=str, default='runs/train/exp2/weights/last.pt', help='model path(s)')
    parser.add_argument('--source', type=str, default='datasets/images/test/hard_hat_workers243.png', help='source')  # file/folder, 0 for webcam
    parser.add_argument('--data', type=str,default='datasets/helmet parameter.yaml',help='dataset.yaml path')
   parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

你可能感兴趣的:(pycharm,YOLO,python)