本地部署yolov5&训练自己数据集

yolov5本地部署

第一章:在windows本地部署yolov5&训练自己的数据集



前言

本文主要介绍在windows本地通过Anaconda虚拟环境搭建yolov5训练环境,以及如何训练自己的数据集,
若在这过程中遇到问题可私信,我看到会第一时间进行解答。-----发布的第一篇文章如有不足还望包涵!


一、Anconda的安装

首先是Anaconda下载链接

https://www.anaconda.com/download/success

Anaconda

根据提示安装即可(建议默认安装位置C盘,空间足够的情况下,若勾选注入PATH环境变量可填过下一步的配置)

1、Anconda的环境变量配置

以默认安装路径为例,存放于C:\Users\你的用户\anaconda3,根据自己的电脑所安装的目录来,将以下环境变量路径添加到PASH中

C:\Users\BMC\anaconda3\
C:\Users\BMC\anaconda3\Scripts\
C:\Users\BMC\anaconda3\Library\bin
C:\Users\BMC\anaconda3\Library\mingw-w64\bin

环境变量配置

二、Conda环境配置

1.创建conda虚拟环境

通过开始菜单栏打开Anaconda Prompt(配置Anaconda环境变量后也可以使用cmd,效果相等)

打开conda终端

创建conda环境,在终端中输入以下指令(出现是否进行下载输入y即可),-n 名字自拟 ,固定python版本为3.8

conda create -n yolo python=3.8

创建conda虚拟环境

打开创建的环境

conda activate yolo

打开

2.pytorch配置

打开pytorch官网

https://pytorch.org

选择pytorch

根据自己情况是使用CPU训练还是通过GPU训练(CUDA版本查看方法文章末尾)
复制相应版本配置命令,粘贴至conda虚拟环境中进行配置下载(出现是否进行下载输入y即可),若无法下载见文章末尾
在这里插入图片描述

3.标注软件labelimg

在conda环境下,输入以下命令安装(打开该直接输入labelimg即可)

pip install labelimg

三.yolov5项目配置

1.下载yolov5文件夹:

项目文件夹

https://github.com/ultralytics/yolov5/releases/tag/v7.0

yolov5

下载所框选的这两个文件,yolov5s.pt为训练权重,Source code为下载yolov5项目压缩包

2.配置yolov5文件夹

将压缩包解压至你想存放的文件夹,我这里演示存放于桌面
将刚才下载的yolov5s.pt复制到项目文件夹下

建立一个用于进行训练的图片和标注文件存放的文件夹,举例取名为test
其下有存放图片的文件夹images以及用于存放标注文件的labels文件夹
路径为:
C:\Users\BMC\Desktop\yolov5-v7\test\images
C:\Users\BMC\Desktop\yolov5-v7\test\labels\

将models文件夹下的yolov5s.yaml复制到根目录文件夹下

在根目录下创建一个文本文档改名为test后缀改为.yaml
添加以下内容:

train: C:\Users\BMC\Desktop\yolov5-v7\test\images\train\		#训练集路径,路径根据自己的来
val: C:\Users\BMC\Desktop\yolov5-v7\test\images\train\		#两相同路径
nc: 1		#标签的数量,标注时所使用的标签数量	
names: [‘A’]		#引号内为标注时的标签名字,若为多个逗号隔开即可,举例为A,完成后退出保存即可

保存退出即可,完整如下

yolov5文件夹

3.安装yolov5需求库

回到上面的conda虚拟环境终端中
进入yolov5项目文件夹(可使用命令 cd)

在该文件夹下输入以下命令完成需求库的版本检查及下载安装(若pip下载速度太慢或失败见文章末尾):

pip install -r requirements.txt

需求包

三.最后测试

1.train(用于训练)

通过测试train.py是否能过正常运行(不修改train.py文件的情况下),命令如下:

python train.py --data test.yaml --cfg yolov5s.yaml --epoch 100 --batch-size 8

–data:指定训练集配置文件位置(因为存放于根目录下无需指定文件夹)
–cfg:指定训练权重配置文件位置(原始存放于modes文件夹内,即/modes/yolov5s.yaml,将其复制到根目录下,直接引用yolov5s.yaml即可)
–epoch:训练轮数(想要训练的轮数,测试为100轮)
–batch-size:批大小(默认使用8,该值越高速度越快,gpu占用也越多,根据自身使用并非固定,最小为4,也并非越大越好)

通过修改train.py文件的方式来运行测试,相同效果,修改指定文件路径及其数值即可,再运行命令:

train参数

python train.py

训练自己的数据集的顺序>选择图片并完成标注(yolo类型txt格式)存放至test文件夹并修改test.yaml配置文件在进行训练

2.detect(用于验证训练精度)

测试detect.py文件,(已经完成训练的情况下)命令如下:

python detect.py --weight runs/exp/weights/best.pt --source test/images/train/

–weight:指定训练集后的检测权重best.pt文件位置
–source:指定检测集文件位置(这里直接检测的训练集)
也可使用修改detect.py文件参数的方式直接命令python detect.py也是可以的,和上面train.py修改方式相同

若并未进行训练只是测试detect.py是否能够正常使用可直接命令:

python detect.py

训练后的参数文件夹存放位置在根目录runs\train\exp
训练后所生成的best.pt文件在exp\weights\中

通过detece检测出的置信度图片存放于根目录下的runs\detect\exp\

无论是通过train来训练还是通过detect来检测置信度,其最后都会提示exp文件夹,
后续在使用detect进行置信度检测时修改你对应的exp文件夹即可

exp

在完成训练后得到exp文件夹,比如我得到的是exp64
那么我要进行验证时就需要使用exp64例:python detect.py --weight runs/exp64/weights/best.pt --source test/images/train/
若要和其他的图片进行验证不与训练使用的图片进行验证只需要改–source 后的文件夹路径即可,假如我想和训练之外的图片进行验证,图片存放于项目文件夹根目录下的一个名为yanzheng的文件夹,这里面存放着训练使用之外的图像,例:python detect.py --weight runs/exp64/weights/best.pt --source /yanzheng/,即可。

到此即可食用!

疑问解答

1.CUDA版本

通过cmd终端输入以下命令查看CUDA版本(英伟达显卡)

nvidia-smi

CUDA

2.pip下载问题

在使用pip下载时,出现下载失败或者特别慢的情况只需要更换下载源即可:

临时更换只需在命令后添加指定下载镜像源使用-i来引用,例如(清华大学镜像源):

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

若想永久配置镜像源:

在当前用户目录下创建一个名为pip的文件夹,比如 C:\Users\你的用户名\pip。
在pip文件夹中创建一个名为pip.ini的文件。
用文本编辑器打开pip.ini文件,在其中复制以下内容保存即可:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

3.conda下载问题

在使用conda下载库时下载特别慢或一直下载失败也是更换下载源即可:

在conda虚拟环境中依次输入以下指令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

还有一种方法时通过直接本地修改配置文件的方式,文件存放于 C:\Users\你的用户名.condarc,
通过记事本打开该文件并添加以下指令:

channels:
  - defaults

show_channel_urls: true

default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

若在conda的安装命令中有 -c来指定安装通道,若像本文中引用的是pytorch和nvidia,可能因为服务器不在国内,区域性的原因等,那么以上这两种方法是没有作用的,唯一的方法是链接外网来进行下载!

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值