【YOLO】AutoDL 训练模型
- 前言
- 整体思路
- 租用 AutoDL 服务器并通过 SSH 连接
- 上传本地 YOLOv5 工程文件到服务器
- 将本地的 yolov5_AutoDL.zip 文件复制到 AutoDL 服务器的根目录中
- 解压 .zip 压缩包
- 安装 requirements.txt 依赖
- 上传数据集
- 修改 mydata.yaml 文件
- 调整 train.py 训练脚本并训练
- 保存训练结果
- 常见错误
- 训练时 Arial.ttf 下载超时 Downloading https://ultralytics.com/assets/Arial.ttf to /home/zelan/.conf
前言
本文适合已经了解YOLO相关基础知识的读者快速上手使用AUTODL服务器训练自己的YOLO模型
关联内容:
【YOLO V5】目标检测 WSL2 AutoDL VScode SSH
【YOLO】数据集标注 X-Anylabeling
参考资料:
整体思路
- 租用 AutoDL 服务器并通过 SSH 连接
- 上传本地 YOLOv5 工程文件到服务器
- 安装
requirements.txt
依赖 - 上传数据集
- 修改
data.yaml
配置文件 - 调整
train.py
训练脚本并训练
租用 AutoDL 服务器并通过 SSH 连接
创建的镜像的配置既要参考yolov5的requriment的说明,还要主要适配租用的GPU的cuda版本支持
复制登陆指令和密码并通过vscode ssh连接
上传本地 YOLOv5 工程文件到服务器
将本地的 yolov5_AutoDL.zip 文件复制到 AutoDL 服务器的根目录中
yolov5_AutoDL
是我预先修改好的 YOLO 工程,专门用于在 AutoDL 服务器上训练,主要改动包括:
- 添加
mydata.yaml
以适配数据集配置。 - 调整
requirements.txt
,将 >= 替换为 =,确保依赖版本固定并注释掉 torch 和 torchvision,因为 AutoDL 服务器的 GPU 镜像已预装这些库。 - 修改
train.py
的默认参数 - 将预训练模型
yolov5s.pt
放入项目文件夹中
此外,你也可以通过 git clone 克隆项目,但需确保能够正常连接 GitHub。
解压 .zip 压缩包
使用一下指令解压压缩包
unzip yolov5_AutoDL.zip
安装 requirements.txt 依赖
进入工程文件夹并安装依赖:
cd yolov5_AutoDL
pip install -r requirements.txt
PS:建议将 requirements.txt 中所有的 >= 替换为 ==,以确保依赖版本的稳定性,避免因为版本不兼容导致的问题。
上传数据集
将数据集拖拽到工程文件夹下的 data 目录,确保包含 train、val、test 文件夹,每个文件夹内有 images 和 labels 子文件夹,且标签文件符合 YOLO 格式。
建议将本地数据集压缩为 .zip 文件,并上传后使用 unzip 指令进行解压
修改 mydata.yaml 文件
修改 mydata.yaml
文件中的路径以及 数据类别的数量和名称
请注意,类别名称必须与数据集制作时导出的索引一致,确保顺序正确!
调整 train.py 训练脚本并训练
- 修改
train.py
中的 weights、cfg、data 和 device 参数,确保权重文件和配置文件的路径、数据集的 YAML 文件路径以及训练设备设置都正确。 - 使用以下指令开始训练:
python train.py --epochs 300 --batch-size 64
注意:
训练时的批次大小(batch size)需要根据 GPU 显存进行调整。一般来说,3090 和 4090 显卡的显存为 24GB。实测情况下,使用批次大小为 64 时,简单图片占用显存约 13GB,批次大小为 96 时占用显存约 19GB。根据显存选择合适的批次大小,可以加速训练并避免显存溢出。
保存训练结果
训练完成后,将训练得到的模型权重 best.pt 从 runs/train/exp/weights 目录中保存到本地即可。
常见错误
训练时 Arial.ttf 下载超时 Downloading https://ultralytics.com/assets/Arial.ttf to /home/zelan/.conf
该问题建议参考:
【解决方案】yolov5环境配置报错 Downloading https://github/Arial.Unicode.ttf to /root/.config/Ultralytics/Arial
- 本地下载Arial.ttf 字体文件
- 将 Arial.ttf 文件手动上传到服务器的
/root/.config/Ultralytics
目录下即可