[超详细!!!!!]yolov5_4.0版本目标检测(环境配置+数据集制作+模型训练)--垃圾分拣业务流

一、服务器选择

本来实验室是有华为云的资源支持,但我觉得这一类的服务器封装性过高,没有那么自由,所以选择了mistgpu,使用体验和技术支持都不错,预装软件框架与要求较为贴合,图形化界面及jupyter支持完善。在这里插入图片描述
如果有想使用的同仁可以用下我的邀请链接:mistgpu.com/i/783956

二、环境配置(使用conda)

这类教程CSDN上很多,按其步骤即可,这里只对一些关键点进行说明。
 
参考连接:yolov5 环境配置
 

1.准备工作

以mistgpu提供的服务器为例,由于已经安装好CUDA 11.2和anaconda故在此先创建虚拟环境

conda create -n yolov5 python=3.8

//其他操作示例
conda activate yolov5 //打开虚拟环境
conda deacivate//关闭虚拟环境

而后换清华源,在虚拟环境下

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

conda config --set show_channel_urls yes

 

2.具体安装

以yolov5 4.0版本为例,源码下载好之后,可见文件夹下的requirements.txt,后续将使用pip来安装requirements.txt中提到的各类包,但有些是安装不下来的(torch与torchvision),因此先在requirements.txt中注释相应内容,由我们自己手动安装。
在这里插入图片描述
手动安装前,先给出我的一些关键配置以供参考(yolov5 4.0版本的)

yolov5 verison:4.0
python 3.8
CUDA 11.0.207
cudnn 8.1.0?
torch 1.7.1
torchvision.__version__ 0.8.2

接下来首先安装cudatoolkit,建议在这顺便了解一下cuda和cudatoolkit的关系

conda activate yolov5
conda install cudatoolkit=11.0
//然后是torch和torchvision
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html

关于torch/torchvision/cudatoolkit的对应关系,可以参照以下网址
torch/torchvision/cudatoolkit对应关系
在这里插入图片描述

然后是cudnn的安装,严格来说也不能叫安装,就是把cudnn的压缩包下载并解压后,将其中一些.h和.so文件复制进安装目录。

安装cudnn8.1
  
  官网下载压缩包
  把里面的include下一堆.h文件拷贝到你的anaconda安装目录下的\Library\include中;
  把bin下的一堆.dll文件拷贝到你的anaconda安装目录下的\Library\bin中;
  把lib\x64下一堆.lib文件拷贝到你的anaconda安装目录下的\Library\lib\x64中;

以上安装后用pip安装剩余的包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U -r requirements.txt

 

三、数据集准备

使用labelImg标注数据集,可直接选择yolo格式(txt而非xml),标好后着重说明一下yolo数据集的规范格式
假定数据集文件夹名称为garbage,该文件夹下有以下三个子文件夹
在这里插入图片描述
 
images放图片,labels放对应的txt,两者名称要对应好,ImageSets存放训练集与测试集的路径说明。
 
在这里插入图片描述
这些txt中存放了相应训练集、验证集等图片的绝对路径(就是images里放的那些),做好后注意garbage文件夹和要和yolov5源码文件夹同级,否则读不到数据集。相应的上步的绝对路径要正确填好。
至此数据集准备完毕。
 

四、训练前yolov5相关设置调整

  1. yolov5/data/文件夹下添加相应数据集的配置文件
     
    在这里插入图片描述
    内容如下:
//训练集与验证集描述文件
train: /home/mist/garbage/ImageSets/Main/train.txt
val: /home/mist/garbage/ImageSets/Main/val.txt
//类别数
#number of class
nc: 5
//类别名
#class names
names: ['paper', 'cups', 'bottle', 'orange', 'battery']
  1. 以选用yolov5_s模型为例,在models/yolov5s.yaml配置文件中更改类别数nc(此处我的数据集类别数为5)
    在这里插入图片描述
    3.准备预训练权重,此处我下载的是4.0版本的yolov5s.pt,放在/weights下(版本、模型要匹配
     在这里插入图片描述
    4.yolov5/train.py更改,主要是输入图片尺寸的更改和一些配置文件、权重的地址
    在这里插入图片描述

五、训练

python train.py #训练, 训练后会告诉你权重在哪

#测试
python3 detect.py --source file.jpg  # image      --weights ./runs/exp4/weights/best.pt
                          #file.mp4  video
                          #./dir  directory
                          #rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa   rtsp stream
                          #http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8  http stream
                          

以我自己的结果为例,基本符合要求~
在这里插入图片描述

六、下期预告(TX2端使用TensorRT实现yolov5)

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值