保姆式yolov5教程,训练你自己的数据集

您所在的位置:网站首页 yolo用中文怎么说 保姆式yolov5教程,训练你自己的数据集

保姆式yolov5教程,训练你自己的数据集

2024-04-18 18:43| 来源: 网络整理| 查看: 265

注:本文在windows下进行演示。本人机器配置如下所示:

环境配置硬件:显卡(GPU),显存4G以上。(无GPU训练慢)内存(4G以上)软件:windows / linuxcuda / cudnn:(模型训练加速工具)pycharm(python IDE): https://www.jetbrains.com/pycharm/anaconda (python package管理工具):https://www.anaconda.com/安装yolov5训练所需的第三方库:检查是否正确安装好anaconda。

windows+r打开cmd,输入 conda -V。若出现版本号,则安装成功。

2.新建虚拟环境

conda create -n your_env_name python=x.x -y # 例如 conda create -n yolov5 python=3.7 -y

虚拟环境新建成功后,会显示

3.激活虚拟环境(激活后,第三库将会安装在该虚拟环境下,方便管理)

conda activate your_env_name # 例如 conda activate yolov5

激活成功后,如下图所示

4. 下载yolov5代码

如果你有git,则使用git clone

git clone https://github.com/ultralytics/yolov5 # clone

如果你没有git,在windows,你可以使用Dwonload ZIP下载代码项目。

yolov5代码地址:https://github.com/ultralytics/yolov5

注意:yolov5的代码是最新的v6.0版本

5.安装yolov5所需要的第三方库

进入yolov5文件夹目录

cd [path_to_yolov5]

如下图所示

安装第三方库

pip install -r requirements.txt

如下图所示,等待安装完成

数据标注1.安装labelimgpip install labelimg2.打开labelimg# 在命令行中输入labelimg即可打开 labelimg3.打开你所需要进行标注的文件夹

点击Open Dir -> 选择需要标注的文件夹 -> ok

4.选择yolo标注格式

点击红色框区域进行标注格式切换,我们需要yolo格式,因此切换到yolo。

5.打标签

点击Create RectBo -> 拖拽鼠标框选目标 -> 给上标签 -> 点击ok。

注:若要删除目标,右键目标区域,delete即可

6.保存

点击save,保存txt。

yolov5模型训练1.使用pycharm打开yolov5项目2.选择虚拟环境

File -> Settings -> Project:yolov5 -> Python Interpreter -> add -> Conda Enviroment -> Existing Enviroment -> 选择你的虚拟环境路径 -> ok

设置成功后,在pycharm的右下角,会出现你的虚拟环境名字

3.测试代码是否能够正常运行

这时,你运行train.py,代码会自动帮你下载演示数据集以及预训练模型,并且开始训练。

若运行正常,则说明环境安装正确。

4.训练自己的数据(数据准备)

很多同学为了做毕设或者课程设计,要做火焰识别,因此这里选择火焰数据集作为演示。

数据集格式介绍:

dataset #(数据集名字:例如fire) ├── images ├── train ├── xx.jpg ├── val ├── xx.jpg ├── labels ├── train ├── xx.txt ├── val ├── xx.txt

注意:一张图片(xxx.jpg)对应一个标签(xxx.txt)。

如00000.jpg对应标签00000.txt。

txt中存放标签数据,每一行数字分别表示:目标类别,x,y,w,h

例如:

0 0.55882 0.77297 0.33824 0.24865

其中

- :对象的标签索引(标签索引从0开始)

- x,y是目标的中心坐标,width,height是目标的宽和高。这些坐标是通过归一化的,其中x,width是使用原图的width进行归一化;而y,height是使用原图的height进行归一化。

5.训练自己的数据(添加数据配置文件)

在yolov5/data文件夹下新建fire.yaml。

内容如下所示:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: E:\for_test_proj\yolov5_ncnn\datasets\fire # dataset root dir train: images/train # train images (relative to 'path') val: images/val # val images (relative to 'path') test: # test images (optional) # Classes nc: 1 # number of classes names: ['fire'] # class names

其中:

path:数据集的根目录train:训练集与path的相对路径val:验证集与path的相对路径nc:类别数量,因为这个数据集只有一个类别(fire),nc即为1。names:类别名字。6.下载预训练模型

现在,我们准备好了数据,接下来,下载好预训练模型,即可开始训练了!

预训练模型地址:https://github.com/ultralytics/yolov5/releases

选择你所需要的模型下载即可,这里我选择yolov5s.pt下载。

模型下载完成后,将xx.pt复制在yolov5文件夹下。如下图所示:

7.开始训练

打开命令行,点击train -> Edit Configurations:

在Parameters,输入对应参数命令

--weights yolov5s.pt --data data/fire.yaml --workers 1 --batch-size 8

至此,模型则开始训练

中间的可视化结果以及训练好的模型保存在runs文件夹下

模型测试

模型训练完成后,将runs/exp/weights下的模型(best.pt)复制在yolov5文件夹下。如下图所示:

开始测试

python detect.py --weights best.pt --source ../datasets/fire/images/val

其中参数:

weights:是你训练好的模型的路径,并且weights支持以下几种格式。Usage - formats: $ python path/to/detect.py --weights yolov5s.pt # PyTorch yolov5s.torchscript # TorchScript yolov5s.onnx # ONNX Runtime or OpenCV DNN with --dnn yolov5s.xml # OpenVINO yolov5s.engine # TensorRT yolov5s.mlmodel # CoreML (macOS-only) yolov5s_saved_model # TensorFlow SavedModel yolov5s.pb # TensorFlow GraphDef yolov5s.tflite # TensorFlow Lite yolov5s_edgetpu.tflite # TensorFlow Edge TPU--source:是你测试的数据路径,它支持以下几种输入Usage - sources: $ python path/to/detect.py --weights yolov5s.pt --source 0 # webcam img.jpg # image vid.mp4 # video path/ # directory path/*.jpg # glob 'https://youtu.be/Zgi9g1ksQHc' # YouTube 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

测试结果保存在runs/detect下

下一篇文章预告pt模型转ncnnncnn部署



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3