问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLOv5训练自己的数据集(保姆级教程)

创作时间:
作者:
@小白创作中心

YOLOv5训练自己的数据集(保姆级教程)

引用
CSDN
1.
https://blog.csdn.net/2401_84080967/article/details/137384082

前言:
YOLOv5运行环境的搭建,可以参考上一篇文章
🚀 YOLOv5保姆级安装教程-CSDN博客
🚀 这篇文章将阐述如何使用YOLOv5使用自己的数据集来训练模型

一、数据集制作

数据标注(工具使用)

🚀 收集要进行训练的图片,然后使用标注软件来标注,大部分人都会使用LabelImg标注软件来标注,当然你也可以使用LabelImg来标注,这里我选择一个更加方便的标注网站,网站地址如下Make Sense,直接点击就可以进入该网站,进入后显示如下,点击Get Start。

🚀 按着下图中的步骤来选择自己要标注的图片。

🚀再点击Object Detection,再点击下方红色区域,创建标签的名字,标签建立好后,点击开始工程。

🚀创建好后,开始标注图片数据中的refuse,框好选择属于哪个类型。

🚀当数据全部标注好后,直接导出,注意步骤3,选择yolo的,直接导出的就是.txt格式。

自己数据集ymal文件的编制

🚀 在data目录下,新建yaml文件,名字自己取,我这里就是取了Surface_refuse_detedct.yaml。

🚀制作数据集结构

结构如下所示,其dataset放在yolov5-master文件夹第一层就好,或者随便放都行,推荐放yolov5-master文件夹第一层。训练集和验证集自己划分比例,一般都是30%作为验证集合,需要注意的是,文件夹命名按着下面的一样。

  
dataset/
├── train/
│   ├── images/
│   │   ├── image1.jpg
│   │   ├── image2.jpg
│   │   └── ...
│   ├── labels/
│   │   ├── image1.txt
│   │   ├── image2.txt
│   │   └── ...
│   └── ...
└── val/
    ├── images/
    │   ├── image101.jpg
    │   ├── image102.jpg
    │   └── ...
    ├── labels/
    │   ├── image101.txt
    │   ├── image102.txt
    │   └── ...
    └── ...  

将我们数据信息写入yaml文件,path写dataset的路径,train直接按着下面就行。

  
path: D:/PythonWorkspace/Yolo_target_detection/yolov5-master/datasets
train: train/images/
val: val/images/
# Classes
names:
  0: refuse  

二、调整代码开始训练

🥩 在train.py中找到如下代码,按着图中的要求修改代码,修改后,直接运行train.py即可开始运行。

🥩 要是运行不成功,使用命令行运行,格式按着下方来,我实验的电脑无GPU,所以选用的是CPU,要是有GPU,可以改成"0",可以使用GPU进行训练。

  
 python train.py --img 640 --batch 32 --epoch 300 --data data/Surface_refuse_detect.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --device cpu  

要是显示结果如下,则开始训练,训练结束会自动结束。训练过程很久,慢慢等待。

训练完成结束标志如下

训练结果保存在runs下,要是使用训练完成的模型进行推理,推理结果保存在runs的detect文件夹中。

训练完成!!!奖励自己来个 🥩🥩🥩🥩🥩🥩🥩。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号