教程:Yolo5训练自己的数据集以及安装教程

更新于2021.6.25

【一】准备相关文件

1.Anaconda

官网下载连接:下载
安装过程这里就不多赘述了

2.Yolo5

官网下载链接:下载

3.权重文件

官网下载链接:下载

【二】环境搭建

1.在Anaconda中为Yolo5创建一个环境

安装好Anaconda好后,单击Windows徽标
apa

打开Anaconda Prompt(Anaconda)

cc
如上图Anaconda默认下只有base环境,我们需要重新创建一个环境并部署相关文件

conda create -n yolo5 python=3.8 
//yolo5:环境名,可以自己设置

输入后,稍等片刻会有如下类似界面
在这里插入图片描述
接着我们输入y来执行安装
稍等片刻后
在这里插入图片描述
出现如上类似界面说明安装完成

我们可以通过以下命令来查看已经创建的环境

conda info -e

在这里插入图片描述
可以看到上图中有原生的base环境,以及我们刚创建的yolo5环境

接着我们输入如下代码进入yolo5环境

activate yolo5

在这里插入图片描述
可以看到我们左侧括号内的base已经变成了yolo5成功进入yolo5环境

2.Yolo5文件的安装

我们将下载下来的yolo5压缩包解压
我这里存放的路径是E:\Yolo5\yolov5-master
注意这里的文件夹内应该有requirements.txt文件
接着我们在Anaconda Prompt(Anaconda)控制台下进入当前的文件夹
Anaconda的简单操作如下:
E:进入E盘,不区分大小写
cd ..返回上一级文件夹
cd Yolo5进入名为"Yolo5"的文件夹
**Tips:**在输入文件夹时可以只输入首字母接着按Tab键快速填充,如有多个同首字母的可以再次按下切换

接下来将以我存放的路径为例,自己安装时注意自己存放的文件路径!!!
进入该目录下,确保目录下有requirements.txt文件,接着我们输入指令安装所需文件
注意这里我们可以打开requirements.txt文件看到我们所安装的包,也可以自己修改所安装包的版本

pip install -r requirements.txt

稍等片刻完成后
Yolo5的文件便准备完成了

【三】训练数据集

这里我们以官方的coco128数据集为例子,稍后我们还会讲到如何制作自己的数据集
coco128数据集下载连接

0.1关于数据集的存放及结构问题

我参考了网上各种结构的存放,再加上自己的试验后总结出较为简洁且的结构
在这种结构下数据集文件夹内还包含两个问价夹一个是images用来存放图片,另一个是labels用来存放标签数据(txt)
而存放的路径其实除了不要有中文以外无所谓,我们可以在datayaml文件内修改,放的近可以让路径变的简短
下文中我都将数据集改成该类型格式包括测试数据集coco128
修改后的coco128数据集其文件夹内只保留imageslabels文件夹而images文件夹内有128张图片,labels文件夹内有128个txt文件(其他的文件我们都可以直接删除)

0.2权重文件的选择

有关权重文件的选择,在官网的下载连接内也有较为详细的解释,这里我们也不赘述了。也选择速度较快的yolov5s.pt来做演示

1.配置文件的修改

我们一共要修改如下三个文件
第一个:位于models文件夹内的yolov5s.yaml文件
这里加入你使用的时其他的权重文件,那么使用和权重文件同名的yaml问价进行修改即可
打开后如下图所示
在这里插入图片描述
而我们需要修改的则是nc项目,后面的数字表示数据集内种类的个数,而官方的coco128数据集就有80个类所以在这里我们不需要修改
而下方的depth_multiplewidth_multiple这两个参数如果你打开其他几个yaml文件的话,会发现只有这两个参数改变了,而他们分别表示了神经网络的层数以及输出通道数。你也可以试着修改这两个参数,调试出自己满意的的神经网络。

第二个:哪里都可以,叫什么都行的的yaml文件
这个文件存放在哪里都行,因为在后面我们会填写他的路径,所以也可以自己创建,官方在data文件夹下已经写好了一个,但我们这里还是自己创建一个演示
那么首先我们这里选择在data文件夹内创建一个yaml文件我这里命名为test.yaml
打开该文件,我们需要输入一下内容

train: ../coco128/images/
val: ../coco128/images/

nc: 80

names: [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
   		 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
         'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
         'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
         'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
         'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
         'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone',
         'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear',
         'hair drier', 'toothbrush' ]

我们一个个来看,首先是train属性这里我们要填写的是图片所在的文件夹,而这里的相对路径是以下面的train.py为起点的,所以这里我们填写../coco128/images/下面的val一项也填写一样的路径即可。
nc和第一个文件一样,表示数据集内种类的个数,同步即可
name数据集内每个类别的名称

第三个:位于根目录下的train.py文件
打开该文件,并找到如下位置
在这里插入图片描述
这些参数我们都可以自己做修改,在官网处也有说明,这里我们只讲需要的部分
以下的文件路径都填写相对路径为例
--weightsdefault:权重文件的路径
例如我们将权重文件存放在weights文件夹内那么内容我们就填写weights/yolov5.yaml
--cfgdefault:参数文件路径
这里填写的就是我们上个修改的文件路径,但是实际上在这里会默认帮我们选择对应的配置文件,所以这里可以不填也可以填上models/yolov5s.yaml
--datadefault:data文件路径
这里填写的就是我们修改的第二个文件的路径,所以这里我们填写data/test.yaml
--epochsdefault:迭代次数,也可以说是权重更新次数,过少可能会欠拟合,过多也可能会导致过拟合,不同的数据集都有着不同的最佳次数,但是随着迭代次数的增加,所耗费的时间是一定增加的
--batch-sizedefault:训练中的取样个数
这个参数在实际训练中并不一定是越大或者越小越好,增大数值也可能加快处理速度,但数值过大可能导致内存不足。实际数值依然需要自行调试

将三个文件修改好并保存好后我们就可以进入下一步,开始训练我们的模型了

2.开始训练模型

首先我们依然是在Anaconda Prompt(Anaconda)控制台下输入指令,我们需要确保我们在已经进入创建好的yolo5环境下,并且已经进入目录文件夹内
如下图所示
在这里插入图片描述

接着我们输入即可开始训练模型了

python train.py

接下来我们只需等待训练完成即可,训练完后的模型文件存放在runs/train/exp*
这里的exp*在结束训练时会有列出,一般也是最大的一个数值

【四】安装CUDA、cuDNN工具包以及Pytorch使用显卡进行训练

CUDA下载链接
在这里插入图片描述

我们这里可以点击Archive of Previous来下载更早的版本
下载好后我们打开进行安装
之后我们选择自定义
在这里插入图片描述
我们只选择以下两项进行安装,安装路径个人喜好,但我们要记住这个路径!
接下来下载cuDNN,下载cuDNN需要登录NVIDA的账号,也支持QQ和微信登录
cuDNN下载链接
同样的我们可以点击Archived cuDNN Releases查看以前的版本
在这里插入图片描述
接着我们找到适合我们CUDA版本的cuDNN下载
下载后解压压缩包,压缩包内应该有三个文件夹分别为bin,include,lib我们选中这三个文件夹,复制到CUDA安装的目录下,目录内应该也会有三个同名文件夹
接着我们向系统环境变量中添加CUDA
右键此电脑选择-属性-高级系统设置-环境变量
双击系统变量中的PATH点击新建接着输入CUDA的安装路径+\bin\libnvvp
这里我的CUDA安装在D盘下的CUDA文件夹内
在这里插入图片描述
就像这样填

安装Pytorch前 我们需要注意,如果安装过CPU版本的Pytorch我门需要在环境中卸载该版本。我们可以打开Anaconda Navigator(Anaconda)接着选择Environments在yolo5中搜索pytorch进行卸载。

接着我们安装Pytorch,安装Pytorch需要在Anaconda Prompt(Anaconda)控制台下并且进入我们创建的yolo5环境下
我们打开这个网址Pytorch接着在这里复制Run this Command内的内容到控制台下回车即可开始安装(NOTE不需要复制)
在这里插入图片描述
PyTorch Build是PyTorch的版本默认稳定版即可
Your OS为你的操作系统,对应即可
Package包的类型,默认即可
Language编程语言,这里选择Python
Compute Platform安装CUDA的版本,这里可以自由选择,我这里选了11.1
输入到控制台后就是等待,有些大文件例如Pytorch可能下载不成功,多试几次可能就成功了,或者选择下载国内的镜像自行安装,这里也不做赘述了。

检测是否安装成功:
我们同样在Anaconda Prompt(Anaconda)控制台yolo5环境下进行测试,输入如下代码

python
import torch
torch.cuda.is_available()
//返回Ture则成功安装了CUDA
from torch.backends import  cudnn
cudnn.is_available()
//返回Ture则成功安装了cudnn

【五】创建自己的数据集

根据上文中的数据集文件结构的存放,我们只需要将创建一个文件夹,文件夹内包含images文件夹并将图片储存在其中,以及labels文件夹存放标签数据,这时我们要用到labelImg工具。下载
我们只需要打开他,选择Open Dir接着选择我们的images文件夹,接着还会跳出一个文件夹选择框,这时我们选择labels文件夹。接着就可以画标签了,使用教程这里也不做过多的赘述了

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHHFSHHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值