YOLOv5训练自己的数据集及用训练模型进行测试

1.训练自己的数据:

使用labelimg标注软件对数据集进行标注,标注完成后,每张图像会生成对应的xml标注文件。 我们将图像和数据统一放置到源码目录的VOCData文件夹下。其中,jpg文件放置在VOCData/images下,xml放置在VOCData/Annotations下:

 

2.运行 split.py 文件,运行结束后,可以看到VOCData/labels下生成了几个txt文件

 

3.然后运行 txt2yolo_label.py 文件用于将数据集转换到yolo数据集格式,转换后可以看到VOCData/labels下生成了每个图的txt文件 

4. data文件夹下创建myvoc.yaml文件:

内容如下:

train: VOCData/train.txt

val: VOCData/val.txt

# number of classes

nc: 10

# class names

names: ["Redlighton", "Redlightoff", "Yellowlighton", "Yellowlightoff", "Greenlighton", "Greenlightoff","Switch", "Whitelighton", "Whitelightoff","meter"]

5.下载预训练模型,我下载的是yolov5m.pt模型,

6.开始训练,修改models/yolov5m.yaml下的类别数:

然后在cmd中输入:

python train.py --img 640 --batch 4 --epoch 100 --data ./data/myvoc.yaml --cfg ./models/yolov5m.yaml --weights weights/yolov5m.pt --workers 0

其中img为图片最大大小,epoch为训练轮数,建议100次,此依赖机器的配置高低,workers0为CPU0,建议打开任务管理器性能中进行查看自己的GPU为CPU几,本机为CPU1,因此改为:

python train.py --img 640 --batch 4 --epoch 100 --data ./data/myvoc.yaml --cfg ./models/yolov5m.yaml --weights weights/yolov5m.pt --workers 1

7.利用训练好的模型进行测试图片,用detect.py文件,更改以下地方:

 

 

将权重设为你的最好权重。

8.运行完的图片保存在 

 9.成果展示:

 

 

版权声明:本文为CSDN博主「lc_MVP」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lc_MVP/article/details/118991288

lc_MVP

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Yolov5系列(3)-loss解析

Abstract 在yolov5中,loss在训练中起到了决定性的作用,同时,yolov5的loss又与大部分传统的方法不同,它是基于网格的.在网格上生成相应的anchor框和其对应的cls以及conf,同时,box loss还采用了CIOU