【模型训练】租用AutoDL上GPU训练YOLOv9教程

目录

一、注册账号

二、创建实例

三、上传和下载文件  

 3.1 用JupyterLab上传和下载文件

 3.2 用Xftp上传和下载文件

 1、下载Xftp

 2、打开Xftp连接你创建的主机(服务器)

四、配置环境 

4.1 解压上传的压缩包

4.2 创建并配置环境

1、创建并进入虚拟环境

2、配置环境

五、训练模型 

六、其他的我遇到的一些小问题

6.1 系统盘空间不够

 1、把数据存放在数据盘/root/autodl-tmp

 2、清理垃圾

6.2 终端使用conda命令不被识别

6.3 如何中断训练和中断后如何继续训练或增减训练轮次

1、中断训练

2、继续训练

3、增减训练轮次的方法

  方法一:恢复训练并追加轮次

  方法二:修改 opt.yaml(如果项目自动保存了参数文件)


一、注册账号

    注册账号较为简单,这里不多说,大家自行去网站注册就好(注:学生用户可以学生认证,有优惠)

    这里附上AutoDL网站:AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

二、创建实例

    点击AutoDL网站页眉的算力市场,空闲的GPU会显示在最前面,如果发现第一页都没有空闲的,就切换地区(不要翻页找了,我刚开始用的时候还傻傻地找,汗颜)

    还要注意看你租用的服务器有没有GPU,有的租费很便宜(1元以下的)就没有GPU。至于怎么选择GPU,这里给个参考:我训练的数据集大概有两三千张图像,选择上图1.58元一小时的就够用。大家可以自行尝试一下,试错成本不高。

    然后就是点击蓝色的按钮(x卡可租),这里需要选择基础镜像(注:这里选择后面进服务器还可以自己重新配置,选错了问题也不大),我选择的版本如下图:

    点击页面右上角的控制台-容器实例,就可以看到自己创建的实例:

三、上传和下载文件  

    实例创建完之后,就要把yolov9模型代码的压缩包上传到你创建的实例(云服务器)和租用GPU训练完模型后从服务器(你创建的实例里)下载文件到本地,有如下两种方式:

    3.1 用JupyterLab上传和下载文件

    帮助文档里有介绍JupyterLab上传还有其他方式(SCP远程拷贝、FileZilla和XShell):AutoDL帮助文档

    下载文件很简单,首先使用压缩命令压缩你的文件,再右键该文件的压缩包即可下载。

    这里,我压缩成zip格式,在终端用的命令是

zip -r  <自定义压缩包名称>.zip  <待压缩目录的路径>

   压缩成其他格式的压缩命令看这:AutoDL帮助文档

   3.2 用Xftp上传和下载文件

    Xftp 是由 NetSarang 公司开发的一款高性能 FTP/SFTP 客户端工具,专为 Windows 和 macOS 用户设计。它支持多种文件传输协议,并通过直观的图形界面简化远程服务器文件管理,广泛应用于 (a.网站开发:上传网页文件到远程服务器、b.数据备份:定期下载服务器数据库或日志文件、c.运维管理:批量更新服务器配置文件、d.协作共享:在团队内部共享大型项目文件)等场景。

       1、下载Xftp

            下载网址:XFTP - NetSarang Website

            下载步骤很简单,这里就不多说了,正常下载就好

      2、打开Xftp连接你创建的主机(服务器)

            点击左上角 文件-新建 就会弹出下面的界面:

        然后复制你先前创建好的实例的SSH登录那一列的信息,即:

       这里给出个例子:比如你复制的登录指令是 ssh -p 66666 root@connect.bjb1.seetacloud.com

其中,66666就是端口号,root就是用户名,connect.bjb1.seetacloud.com就是主机,按照这个填写上面的新建会话页面,然后再复制密码填写到上面的新建会话页面即可连接服务器,如下图所示:

           连接好之后的界面,一般情况下,左边部分是本地,右边是服务器,界面图如下:

            把左边的压缩文件拖到右边即是上传,把右边的压缩文件拖到左边即是下载,这里不多赘述,大家自行去试一下即可。 

四、配置环境 

  4.1 解压上传的压缩包

            开机后,打开JupyterLab,点击终端

               解压你上传的压缩文件,这里我是zip格式,所以我用的命令是:

unzip <待解压压缩包名称>.zip -d <解压到哪个路径>

               其他格式的解压命令看这里:AutoDL帮助文档

               注:若没有指明解压路径,一般情况下默认解压到你上传的压缩文件所在路径。

4.2 创建并配置环境

         创建和配置环境,我用到的anaconda命令看这里:在训练模型前配置环境时,我常用的anaconda命令_annaconda进去环境指令-CSDN博客

        1、创建并进入虚拟环境

               创建环境命令:  

conda  create  --name  env_name python=3.9 # 同时创建环境并下载指定python版本,(env_name自己命名)

               进入环境命令:

conda activate env_name

           2、配置环境

                    yolov9模型有requirements.txt这文本,文本中都有记录该模型配置环境时需要的各种包的版本的。要下载这份文本下的安装包,我们就要到该目录下读到这份文件。

              所以,先是切换路径指令:

cd 存放requirements.txt的路径

              再是读取这份文件下载相应的包

              下载命令:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

               就会把requirements.txt文档中的包都下载了,如下图所示:

五、训练模型 

          这里就不用多说了,这篇博客主要介绍怎么使用AutoDL,后续如果有空,我再补上这块内容,这里就简单介绍一下。

          我用的是train_dual.py,就在该python文件修改自己的参数,然后直接在终端输入

python  train_dual.py

           即可训练。

六、其他的我遇到的一些小问题

      以下是一些比较个性化的问题,我随笔记录一下,大家也就随便看看。

  6.1 系统盘空间不够

            解决方法有如下:

           1、把数据存放在数据盘/root/autodl-tmp

           2、清理垃圾

               这里我刚开始的误区就是认为把文件删掉了,就可以腾出空间

                实际上,这被删除的文件是在类比于window系统的回收站里,仍占着空间

                终端命令 :

du -sh /root/miniconda3/pkgs/ && rm -rf /root/miniconda3/pkgs/* # conda的历史包

du -sh /root/.local/share/Trash && rm -rf /root/.local/share/Trash # jupyterlab的回收站

                详细请看这里:AutoDL帮助文档

6.2 终端使用conda命令不被识别

           解决方案:在终端输入conda init,然后再关闭终端,再重启即可。

6.3 如何中断训练和中断后如何继续训练或增减训练轮次

          1、中断训练

                 你可以通过按下 Ctrl + C 来手动中断训练,或者在代码中设置中止条件。

          2、继续训练

                   YOLOv9 一般是基于 Ultralytics 或者相似的框架(如 YOLOv5/YOLOv8 风格),继续训练的方式如下:

                   基本命令:

python train_dual.py --cfg cfg/yolov9.yaml --data data.yaml --weights runs/train/exp/weights/last.pt  --resume

                   参数说明:

         --weights:指定你中断时保存的权重,一般是 last.pt

         --resume:表示恢复训练。

                    注意:

                        某些版本中 --resume 自动寻找上一次的训练路径,你可以不指定 --weights。推荐查看官方文档或命令行 help:python train.py --help

           3、增减训练轮次的方法

              第一步:修改 opt.yaml(如果项目自动保存了参数文件)

              在 runs/train/exp/ 目录下,可能有个 opt.yaml 文件,里面记录了训练参数。

              第二步:恢复训练并追加轮次

              手动修改其中的 epochs: 项,然后再使用 --resume 恢复训练。

python train_dual.py  --weights runs/train/exp/weights/last.pt --epochs 100  --resume

              注意:如果你中断在第 50 轮,想继续训练到第 100 轮:--epochs 100 是总训练轮次(不是继续训练的轮数)。所以如果已经训练了 50 轮,这个命令会再训练 50轮(直到达到总共 100 轮)。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值