yolov5本地部署
第一章:在windows本地部署yolov5&训练自己的数据集
文章目录
前言
本文主要介绍在windows本地通过Anaconda虚拟环境搭建yolov5训练环境,以及如何训练自己的数据集,
若在这过程中遇到问题可私信,我看到会第一时间进行解答。-----发布的第一篇文章如有不足还望包涵!
一、Anconda的安装
首先是Anaconda下载链接:
https://www.anaconda.com/download/success
根据提示安装即可(建议默认安装位置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环境,在终端中输入以下指令(出现是否进行下载输入y即可),-n 名字自拟 ,固定python版本为3.8
conda create -n yolo python=3.8
打开创建的环境
conda activate yolo
2.pytorch配置
打开pytorch官网
https://pytorch.org
根据自己情况是使用CPU训练还是通过GPU训练(CUDA版本查看方法文章末尾)
复制相应版本配置命令,粘贴至conda虚拟环境中进行配置下载(出现是否进行下载输入y即可),若无法下载见文章末尾
3.标注软件labelimg
在conda环境下,输入以下命令安装(打开该直接输入labelimg即可)
pip install labelimg
三.yolov5项目配置
1.下载yolov5文件夹:
https://github.com/ultralytics/yolov5/releases/tag/v7.0
下载所框选的这两个文件,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,完成后退出保存即可
保存退出即可,完整如下
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文件的方式来运行测试,相同效果,修改指定文件路径及其数值即可,再运行命令:
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文件夹,比如我得到的是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
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,可能因为服务器不在国内,区域性的原因等,那么以上这两种方法是没有作用的,唯一的方法是链接外网来进行下载!