此文章为在h200上dood模式下使用yolov11训练模型【其他机器大同小异】
拉取镜像
powershell
docker pull ultralytics/ultralytics:latest
启动容器
powershell
docker run -d --rm --name container-name --gpus "device=9" --ipc=host -p 8456:8888 -it ultralytics/ultralytics:latest
设定训练结果目录
如果不设置,yolo训练完会放默认目录下,训练日志最后会提示
powershell
yolo settings runs_dir=/workspace/runs
创建dataset目录
· dataset目录格式如下,创建好后,把训练集和验证集数据拷贝进去
· 或者也可在windows弄好,再拷贝进容器后解压(我的服务器不支持挂载)
· 如果支持挂载目录直接在windows下弄好dataset即可
powershell
dataset/
├── images/
│ ├── train/
│ │ ├── img_001.jpg
│ │ └── ...
│ └── val/
│ ├── img_201.jpg
│ └── ...
├── labels/
│ ├── train/
│ │ ├── img_001.txt
│ │ └── ...
│ └── val/
│ ├── img_201.txt
│ └── ...
└── dataset.yaml
dataset.yaml内容如下,请按实际情况修改
powershell
path: /workspace/dataset
train: images/train
val: images/val
nc: 5
names: [block, 1s, 1w, 1n, 1e]
开始训练
· 使用yolo11s.pt作为初始模型,训练100轮,图像尺寸1280,每个批次处理图像个数
· 其他参数诸如lr0学习率、patience早停耐心值等请按需添加
· h200网络没有问题的话,会自动下载yolo11s.pt,无需关心。如果网络有问题就得自己想办法下载了。
powershell
yolo train data=/workspace/dataset/dataset.yaml model=yolo11s.pt epochs=100 imgsz=1280 batch=4
训练完成
训练完成后去刚刚设定的结果目录下分析训练结果。如果没有设定,则根据日志去默认目录下查看训练结果。