目录

  • 一、下载yolo5
  • 二、安装必要依赖
  • 三、安装pytorch
  • 四、打标图片制作数据集
  • 4.1 导入图片
  • 4.2 开始打标
  • 4.3 添加标签
  • 4.4 进行打标
  • 4.5 导出打标数据
  • 4.6 打标数据
  • 五、整理训练数据
  • 5.1 第一层目录
  • 5.2 第二层目录
  • 5.3 第三层目录
  • 六、创建配置文件
  • 七、训练数据
  • 八、验证数据集
  • 九、检测图片


一、下载yolo5

首先下载源码:yolo5 github地址

yolov5 环境pytorch yolov5 python_python

我下载的是最新版本:v6.1。

二、安装必要依赖

进入下载的yolo5源码文件夹中,执行依赖安装:

cd xx/xx/yolov5-master
pip install -r requirements.txt

三、安装pytorch

先进入yolo5源码文件夹中,由于yolo5基于pytorch,如果和我版本一样的yolo5,然后下载大于等于1.7.0版本的,我下载的是1.7.1版本,cpu版本,下载地址:pytorch下载地址

pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

四、打标图片制作数据集

打标图片地址:makesense

4.1 导入图片

yolov5 环境pytorch yolov5 python_yolov5 环境pytorch_02


可以一次性导入多张图片进行打标。

4.2 开始打标

yolov5 环境pytorch yolov5 python_python_03

4.3 添加标签

yolov5 环境pytorch yolov5 python_yolo5_04

4.4 进行打标

yolov5 环境pytorch yolov5 python_数据_05


打标时,记得选择好我们的标签。

4.5 导出打标数据

yolov5 环境pytorch yolov5 python_python_06


yolov5 环境pytorch yolov5 python_pytorch_07

4.6 打标数据

我们的打标数据将会和图片名一致,且以txt后缀:

yolov5 环境pytorch yolov5 python_yolov5 环境pytorch_08


文件中的内容为我们的标签类别及坐标:

yolov5 环境pytorch yolov5 python_yolov5 环境pytorch_09

五、整理训练数据

5.1 第一层目录

我们需要训练的图片将会整合到images文件夹中,我们的打标数据将会整合到labels中:

yolov5 环境pytorch yolov5 python_yolo5_10

5.2 第二层目录

images文件夹和labels文件夹下的第二层目录如下:

  • test:测试集数据
  • train:训练集数据
  • val:验证集数据

5.3 第三层目录

第三层目录中,我们放置相应的图片或打标数据,比如在images/train/下面我们放置训练用的图片,labels/train/下面放置打标数据:
C:\MyData\images\train\1.png
C:\MyData\labels\train\1.txt

记住图片和打标数据需要一一对应。

六、创建配置文件

我将自定义的配置文件取名为:my_data.yaml。可以按照自己的喜好取名。

train: C:/MyData/images/train
val: C:/MyData/labels/train

nc: 1 # 类别有几个就填几个

names: ['风力发电'] # 每个类别的名称

test目录是可选的,可用可不用。

七、训练数据

进入我们的yolov5-master目录,运行以下命令:

python train.py --data my_data.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt  --epoch 1000 --batch-size 4 --device cpu

如果使用models/yolov5s.yaml,需要把nc: 1 改为我们的训练类别,我这只有一个类别,所以是1。

  • –data:我们的配置文件
  • –cfg:参数配置文件
  • –weights:权重文件
  • –epoch:一次完整的向前传播和反向传播,填几就是进行几次
  • –batch-size:每一批样本的数量
  • –device:训练用的硬件,我这只有cpu,用的cpu,有条件用gpu

训练成功后,会生成我们的训练数据:

yolov5 环境pytorch yolov5 python_数据_11


其中weights会生成我们的训练权重结果:

  • best.pt:拟合最好的
  • last.pt:最后拟合的

一般情况下使用拟合最好的权重去使用。

八、验证数据集

使用我们训练好的权重进行数据验证:

python val.py --data my_data.yaml --weights runs/train/exp/weights/best.pt --img 640
九、检测图片
python detect.py --source C:/Users/TT/Downloads/test2.jpg --weights runs/train/exp/weights/best.pt

至此,一整套简单的yolo5使用流程到此结束,很多配置和参数的调整需要进一步深入学习。