目录
a.Roboflow: Give your software the power to see objects in images and video
c.会在这个路径下产生两个.pt,一个是best一个last
d.最后将这个训练完的best.pt放到detect.py作为一个权重文件,最后直接run行了。
a.https://colab.research.google.com
d.将训练完成的的best.pt下载下来,替换detect的权重路径即可。
小样本成果展示
华北理工一角yolov5检测
说在前面一些配置
Cuda11.4+Cudnn8.2.4
1.Yolov5模型与像素大小。
2.常用参数
a.detect.py
‘--weights’ #选择网络模型,路径选择.pt文件
‘--source’ #待检测图片路径
b.train.py
'--weights' #选择网络模型
'--cfg' #关于模型的配置,可修改为model下的.yaml
'--data' #可修改为data下的.yaml一些数据集
'--hyp' #超参数,用于对应模型的微调
'--epochs' #训练多少轮
'--batch-size' #尽量调小一点,最好是2的幂次方
'--imgsz', '--img', '--img-size'#
'--rect' #矩阵,满足网络模型要求,对图像进行部分填充,最小填充
'--resume' #在某一模型基础上继续训练,指定之前训练的last.pt
'--noautoanchor' #默认开启锚点
'--evolve' #寻找最优秀参数的方式
'--bucket'
'--cache' #是否对图片进行缓存
'--image-weights'
'--device''--multi-scale' #图片尺寸变换
'--single-cls'
'--adam' #选择优化器
'--project' #项目默认保存位置
'--quad'
'--linear-lr' #以线性方式学习
3.如何目标检测
a.Pycharm
直接选择需要的模型权重,待检测图片路径以及以及(如果需要的话)修改上述其他参数
b.Linux
Python 待运行.py --参数1 参数值 --参数2 参数值
Ex:python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65
4.如何训练别人数据集
修改以下参数,直接运行就行,Linux同上。
'--weights' #选择网络模型.pt
'--cfg' #关于模型的配置,可修改为model下的.yaml
'--data' #可修改为data下的.yaml一些数据集
5.如何训练属于自己的数据集
a.Roboflow: Give your software the power to see objects in images and video
到这个网址训练自己的数据集。
记得导出为yolo格式,解压后如下图。
b.修改下面参数,选择需要训练的模型,
但是记得weights和cfg也就是选择的网络模型要与配置的.yaml对应。
'--data' #可修改为data下的.yaml一些数据集
(这个要选择自己在上述网站做好的训练配置,比如这个地方是)
parser.add_argument('--data', type=str, default=ROOT / 'mydata.v1i.yolov5pytorch/data.yaml', help='dataset.yaml path')
c.会在这个路径下产生两个.pt,一个是best一个last
'runs/train/exp7/weights/best.pt'
d.最后将这个训练完的best.pt放到detect.py作为一个权重文件,最后直接run行了。
6.云端GPU训练数据集。
a.https://colab.research.google.com
b.上传自己yolo包。
c.
!unzip /content/yolov5-6.0.zip -d /content/yolov5 OR tar -zxvf /content/yolov5-6.0.tar -d /content/yolov5
%cd /content/yolov5/yolov5-6.0
!pip install -r requirements.txt
%load_ext tensorboard
%tensorboard --logdir=runs/data
!python train.py --rect
!python train.py --rect --data=data/coco.yaml //或者指定其他数据集