YoloV7:训练自己得数据集详细教程

美团刚刚发出yolov6,AB大神就带着yolov7来了。。。。。这速度是真快。。

在 5-160 FPS 范围内速度和精度超过所有已知目标检测器。

在 后不到两个星期,提出 YOLOv4 的团队就发布了更新一代的版本。

本周三,YOLOv7 的论文被提交到了预印版论文平台 arXiv 上,其三位作者 Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao 是 YOLOv4 的原班人马。

相对于其他类型的工具,YOLOv7-E6 目标检测器(56 FPS V100,55.9% AP)比基于 transformer 的检测器 SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)速度上高出 509%,精度高出 2%,比基于卷积的检测器 ConvNeXt-XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 速度高出 551%,精度高出 0.7%。

此外, YOLOv7 的在速度和精度上的表现也优于 YOLOR、YOLOX、Scaled-YOLOv4、YOLOv5、DETR 等多种目标检测器。

YoloV6:

meituan/YOLOv6: YOLOv6: a single-stage object detection framework dedicated to industrial applications. (github.com)https://github.com/meituan/YOLOv6

YoloV7得github

WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors (github.com)https://github.com/WongKinYiu/yolov7

目录

1、数据集

2、文件配置

3、训练

4、训练结果

5、测试 

6、相关问题

7、基于yolov7-d6训练

7.1 基于training的训练

7.2 基于deploy训练

8、导出ONNX

9、YoloV7各个模型的网络结构


接下来我们开始训练yolov7:

1、数据集

数据集得格式如下:

datasets---------------images: 

                                            train:.jpg

                                             val: .jpg

                                labels:

                                           train: .txt

                                           val: .txt

                                train_list.txt

                                val_list.txt

labels/train/.txt如下:

train_list.txt----->图片得相对路径

2、文件配置

MyDataCoCo.yaml 

3、训练

python train.py --weights weights/yolov7-tiny.pt --data data/MyDataCoCo.yaml --epochs 300 --batch-size 6 --img 640 640 --cfg cfg/training/yolov7-tiny.yaml --name yolov7-tiny --hyp data/hyp.scratch.p5.yaml --workers 0 --device 0

4、训练结果

他这个训练在最开始的时候,大概前20轮,map =0 或者 map =  4.99 e-11 

5、测试 

python detect.py --weights runs/train/yolov7-tiny2/weights/best.pt --source datasets/CiWaData/images/val/

6、相关问题

如果你遇到报什么libiomp5md.dll 错误,要么在train.py添加如下代码,要么删除你环境中其他得libiomp5md.dll 

7、基于yolov7-d6训练

前面介绍了基于yolov7-tiny.pt训练的模型,现在我们介绍yolov7-d6.pt模型的训练。。。

下载yolov7_d6_training.pt

7.1 基于training的训练

训练命令

python train_aux.py --weights weights/yolov7-d6_training.pt --data data/MyDataCoCo.yaml --epochs 300 --batch-size 6 --img 640 640 --cfg cfg/training/yolov7-d6.yaml --name yolov7-d6 --hyp data/hyp.scratch.p5.yaml --workers 8 --device 0

训练结果。

测试命令:

python detect.py --weights runs/train/yolov7-d6/weights/best.pt --source datasets/CiWaData/images/val/

7.2 基于deploy训练

下载yolov7-d6.pt

这个只训练200轮次。。。只是为了快速训练得到结果 

测试

python detect.py --weights runs/train/yolov7-d6/weights/best.pt --source datasets/CiWaData/images/val/

结果:

8、导出ONNX

YoloV7:基于自己训练的模型如何导出正确的ONNX_Mr曲末寒的博客-CSDN博客

9、YoloV7各个模型的网络结构

yolov7各个模型的网络结构图(最详细)_Mr曲末寒的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/zhangdaoliang1/article/details/125719437