YOLOv5训练自己的数据集(保姆级教程)
YOLOv5训练自己的数据集(保姆级教程)
前言:
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文件夹中。
训练完成!!!奖励自己来个 🥩🥩🥩🥩🥩🥩🥩。