1. 下载v9代码:https://github.com/WongKinYiu/yolov9
2. 配置环境(默认已配好anaconda,python3.8+,PyTorch,)参考:https://blog.csdn.net/chenhaogu/article/details/131161374
进入自己配好的环境,终端输入:
conda activate py39(自己python环境名称)
cd N:\code\yolov9-main
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
3)提示:建议不安装cleaeml,如果安装了clearml,记得注册(不注册会报错:MissingConfigError: It seems ClearML is not configured on this machine!)
1)官网注册
2)右上角进入个人主页,依次点“Setting”--“Workspace”--“+Creat new credentials”
如图,然后复制这段api(本地账户的配置,每个都不一样,所以需自己去官网获取):
3)安装clearml。终端输入:
pip install clearml -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装完后继续输入:clearml-init
直接粘贴刚才复制的api,最后显示以下内容安装完成。
4. 制作数据,与v5、v7、v8相同,制作方式参考
划分好train和val数据,最终:
images内放train和val图片,labels放对应标签,图片名和标签名一定要一致。
5. 修改模型配置文件:
打开地址models/detect/yolov9-c.yaml,修改nc值,nc值为你制作的数据目标种类个数。
6. 制作数据加载配置文件 yourdata.yaml:
path: N:/code/YOLOv9/data_maker/data63 # 数据根地址
train: images/train # train images
val: images/val # val images、
test:
# 定义种类名称
names:
0: UAV
7. 按v9官网提示,终端输入:
(gpu单卡训练):win系统记得改workers为0;data为上一步制作的数据加载配置文件
python train_dual.py --workers 8 --device 0 --batch 16 --data data_maker/yourdata.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights '' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15
(gpu多卡训练):data为上一步制作的数据加载配置文件
python -m torch.distributed.launch --nproc_per_node 8 --master_port 9527 train_dual.py --workers 8 --device 0,1,2,3,4,5,6,7 --sync-bn --batch 128 --data data/coco.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights '' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15
开始训练:
记录bug:在自己电脑训练没有问题,迁移至超算后报错:
COMET ERROR: Failed to set run cmd args
Downloading https://ultralytics.com/assets/Arial.ttf to /HOME/scz0993/.config/Ultralytics/Arial.ttf...
经查询是GPU无下载权限,手动在https://ultralytics.com/assets/Arial.ttf下载后在超算输入:
cp Arial.ttf /HOME/scz0993/.config/Ultralytics/Arial.ttf
解决问题