1.yolov5的安装与环境配置(cuda版本)
1.1安装CUDA
本次测试我是安装了cuda,建议大家安装,训练时间会大大减少,可以参考b站爆肝杰哥up主(个人认为是目前最好的教学视频),网站为 https://b23.tv/j1uQgsn。
1.2yolov5的下载
由于yolov5代码在github是开源的,所以我们直接去下载,官网的网址(https://github.com/ultralytics/yolov5)。这里的版本我们选择的是7.0的版本,因为之前我也是小白,参考过炮哥的例子,下载的是5.0的版本,然后遇到了一系列问题(主要是版本太低了,与各个库不匹配),打开网站之后,按我标的步骤来操作即可安装好yolov5。
1.3配置安装环境
先将下载好的安装包解压到桌面上,然后打开后点击requirements文件,修改里面的库的版本(如果不修改,会导致报错,解决起来非常麻烦),主要修改里面Pillow库,建议改为Pillow==9.5。修改完后之间点击train.py文件。这里就不介绍各个文件的作用了。(可以参考其他博主)
然后就是配置解释器了,这里建议新建一个Python3.9(yolov5-v7.0)解释器,然后基础解释器使用python=3.9的版本。(因为我是3.9版本,然后各个库安装非常顺利)
最后再安装各种库文件了。
2.测试是否安装成功
安装好之后打开dect.py,直接运行,运行完成后会生成一个runs文件,里面包含dect文件。
如果里面的图片有标注,则说明yolov5环境配置成功。
3.制作自己的训练集训练
这里我提供数据集,网址为链接:https://pan.baidu.com/s/1HSZYNaSbqg2pjhwE93TVcg?
提取码:1234(如果大家想制作自己的数据集可以参考其他博主),大家需要建立一个dataset文件夹(存放数据集),结构目录为:
大家可以先在yolov5里面把dataset文件夹建立好,方便接下来操作。
4.开始训练
4.1设置data/*.yaml文件
打开train.py文件后,在左上角找到data文件,复制VOC.yaml文件并粘贴,名称修改为VOC_dataset.yaml。
接下来修改路径和种类。
path:C:\Users\Administrator\Desktop\yolov5-v7.0\dataset (绝对路径 )
train:images/train (相对路径 )
val:images/val (相对路径)
test:images/test (相对路径)
names: 0: leaf (识别的名字) nc:1 (种类个数)
这里的我是使用leaf数据集,种类就一种。
4.2设置models/*.yaml文件
同样进入models文件夹,复制yolov5s.yaml文件并修改名称为yolo5s_dataset.yaml,接下来修改新建文件夹里面的内容,将nc后面的数字改为1。(要与前面的nc数字一致) ,权重文件可以提高我们电脑训练模型的速度,减少训练时间。(如果不使用的话,也能够直接运行,但是会导致结果不准确,训练时间也长),这里使用已经下载好的yolov5s模型(其他类型模型看情况使用) 。
4.3修改train.py
主要修改weights(权重)、cfg(模型配置)、data(数据集配置)这三项。
weights: default=ROOT / 'yolov5s.pt'
cfg:default='models/yolov5s_dataset.yaml'
data:default=ROOT / 'data/VOC_dataset.yaml'
修改完后,train.py文件运行成功的话,控制台会出现以下情况,runs\train\exp2为训练后文件的保存位置。
5.运行中常见的bug
当出现了以下错误,点击报错的连接,然后会生成一个_init_py文件,找到import git或者from git import xxx这行代码,在前面再加上一行os.environ["GIT_PYTHON_REFRESH"]="quiet",就能够完美运行了。