githubu版开源项目地址:u版pytorch-yolov5
我是用labelimg中的voc格式进行标注的,按照我的数据集需要先将voc格式转为yolo标准数据集格式,格式转换参考yolov5之voc数据集转yolo标准数据集,如果你使用的是yolo标准格式的数据集,那么就不需要这一步的修改。
数据集存放目录
训练集数据存放在…/datasets/images/train2017中,标签存放在…/datasets/labels/train2017中。
修改yaml文件
源代码中使用的是coco128.yaml这个文件进行训练的,所以我们直接修改coco128.yaml这个文件即可,如果想换成自己创建的yaml文件来训练,那么需要在train.py中将opt.data修改成相应yaml文件的路径即可。下面来看一下coco128.yaml中需要修改的参数和值
path是你数据集的相对路径,nc是你检测类别的数量,names是你数据集的标签。修改完之后即可。
修改训练超参数
在hyp.scratch,yaml中修改训练的超参数,比如我不想使用mosaic,就将它设置为0.0即可。
云端训练
在colab,kaggle等免费gpu服务器上训练只需要将权重保存地址,数据集地址改成绝对路径即可,不然会报找不到数据集的问题.
云端训练的时候可以在命令行指定参数值进行训练比如:
!python ./train.py --img 640 --batch-size 16 --epochs 300 --data ./data/colo128.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt