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
暂无评论