小白也能完成的Yolov5训练环境搭建

目录

一、源码下载

二、环境搭建

1.安装Anaconda,搭建虚拟环境

1.1 配置Anaconda的环境变量

1.2 创建环境

三、配置训练环境

1.CPU训练环境配置

pip & conda换成清华源

安装Git

1.1 创建自己的训练集

第一步:物体拍摄

第二步:物体标注

第三步:筛选训练集和验证集

1.2 CPU开始训练

1.3 推理验证

2. GPU训练环境配置

2.1安装cuda

2.2 配置cuda环境变量

2.3 安装pytorch

2.4 GPU开始训练


一、源码下载

在Github上面可以找到yolov5的源码。

下载地址:https://github.com/ultralytics/yolov5

在下面步骤中用的项目:

 链接: https://pan.baidu.com/s/1-AahzGVu8ia8RQOFTPWBNQ?pwd=wxgd 提取码: wxgd 复制这段内容后打开百度网盘手机App,操作更方便哦

解压出来既可

二、环境搭建

1.安装Anaconda,搭建虚拟环境

下载地址:Download Now | Anaconda

Anaconda的安装还是很简单的,按照指引下一步下一步安装即可安装完成

安装完成后

这个时候你就已经安装完Anaconda了,但是你在cmd中还是调用不到conda命令,你还需要在环境变量中去添加

1.1 配置Anaconda的环境变量

桌面右键此电脑-点击属性-高级系统设置-环境变量

系统变量中找到Path-双击进去

你需要找到你安装Anaconda的路径,并把这五个路径添加进去。

添加的操作-在右边新建-浏览-然后找到你的安装路径

打开cmd-输入conda --version,可以验证环境变量是否添加成功

1.2 创建环境

打开cmd-输入conda create -n yolov5 python=3.8。conda create -n [环境名] python=3.8

 

这样就创建完成了

然后输入conda activate yolov5 启动环境,启动成功左边会显示你的环境名。有时候会提示你要初始化一下才可以启动环境,看上面给你提示的指令,我这是没有提示,所以不用。-初始化指令:conda init

三、配置训练环境

1.CPU训练环境配置

启动环境--进入yolov5-master项目路径。我下载的是在桌面,就从桌面进去。

输入pip install -r requirements.txt 

pip & conda换成清华源

如果安装慢的话可以先换国内源。

我pip使用的是清华源:pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn

conda也是清华的:
        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 --set show_channel_urls yes

安装完成。

安装Git

Git官网下载地址:Git - 下载软件包 (git-scm.com)

因为我这之前就安装过了,再次安装的话会跳过选择组件。基本这个按照指引下一步走就行。

这时候你就可以验证一下了。

输入:python detect.py 

等待进度条下载完成

那你将会得到两张训练好的图片,找到对应的路径就可以看到。(红色框框是路径,在yolov5-master项目下找到)

为了后续可以更方便的管理项目,可以下载个vscode

1.1 创建自己的训练集

完成了环境配置后,我们就可以准备自己的训练集了。

第一步:物体拍摄

对要训练的物体拍照,什么方式都可以,我是弄了个python程序来拍摄。

插上USB外置摄像头,如果电脑自带了也可以使用本机的。

将程序端口改为"1",本机的是"0',

设置分辨率。

设置保存图片的文件夹路径

当运行程序后,会有一个窗口显示画面。当按下“s”会保存一张照片,命令行会显示保存了几张照片。

按“q”关闭窗口,这时候桌面会创建一个文件夹来保存照片,因为我给的路径在桌面。

出于演示,我就不拍摄这么多了,我就用之前的数据集。

注意!!!这里是出于演示,正常一个物体的素材不应该这么少,素材少了会导致置信度低或识别不出来。我一般是一个物体100张照片,训练次数100次。也就是epoch 100

第二步:物体标注

下载标注工具(LabelImg):Releases · HumanSignal/labelImg (github.com)

 解压完成后打开data路径下的文件

双击打开后-清空里面的内容-添加你训练物品的名称(你一次训练多少个物体,就添加多少个物体的名称,我只有一种就添加一种的) 

然后返回打开.exe文件.

open Dir:找到需要标签的图像路径打开

Change save Dir: 保存标签文件的路径(没有的话,创建一个文件夹来存储标签文件)

pasclVOC:点击一下切换成yolo格式

Use default labtel: 在方框勾选后,在后面输入图片名字。

View-Auto Save mode:自动保存标签文件

都打开后,就可以开始标注了,按"w"会出现一个十字框,对着物品拉就行了。右上角那个如果勾了,不会出现标签列表,它会自动帮你按你输入的名称标注,注意千万别输错了,会导致序号出错,标签名称也会对应不上。

接下来就是枯燥乏味的框框框啦,还好我的数据少。

第三步:筛选训练集和验证集

在项目中创建一个文件夹来存放图像

yolov5-master创建imagedata文件夹,在放入test数据集

注意!!!我这里是images,前面是少了一个s,后面都会按照images来操作。

接下来就用程序来让它分出训练集和验证集,打开apportion.py脚本,在下面路径中指向我们的数据集

file_path:指向图片的路径

xml_path:指向标签的路径

new_file_path:筛选后的数据集存放路径

执行等待,结束后就可以在文件夹中看到筛选好的数据集了

1.2 CPU开始训练

训练开始前,还需要设置一下路径。

创建test_data.yaml文件

train:指向分配好的数据集中的训练集

val : 指向分配好的数据集中的验证集

nc:种类

names:0(序号)  : 名称

设置完后,打开cmd,进入配置好的虚拟环境中

输入:python train.py --data test_data.yaml --weights yolov5s.pt --img 640 --epoch 5 --batch-size 4 --device cpu

 data:指向刚创建test_data.yaml文件

weights:指向的是预训练模型

img:图片大小

epoch:训练次数

batch:每批放进去训练的图片张数

device :训练用的硬件

训练结束后会提示路径,在这个路径下会有last.pt和best.pt两个模型文件。

last.pt: 保存的是训练过程中的最后一个状态

best.pt:保存的是训练过程中最佳的一个状态

1.3 推理验证

插上外置usb摄像头

cmd输入:python detect.py --weights runs/train/exp/weights/best.pt --img 640 --conf 0.6 --source 1 --view-img

 weights: 路径指向训练好的模型

img: 图像大小

conf: 置信度,当物品识别的值小于0.6不显示

source: 选择摄像头 “1”是外置,“0”是本机

view-img: 打开窗口显示图像。

可以看到窗口中成功识别出了耳机,因为素材太少所以置信度不高。

那么当我们素材过多的时候,如果还是用cpu来训练的话,那就太慢了,所以我们用GPU来跑。

2. GPU训练环境配置

2.1安装cuda

先确认显卡支持cuda的最高版本是多少

在cmd中输入:nvidia-smi.exe

 红框的就是显卡支持的最高版本。

因为cuda是配合pytorch来使用的,而现在pytorch支持最新的版本是12.1。(当然你可以安装最新的12.5,听说是可以向下兼容的)

那我们就装个12.1的。

打开CUDA下载地址:CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer

接下来进入安装步骤,只需要注意一步,剩下的按照指引下一步下一步即可。

这里选自定义

然后再CUDA中将Visual Studio Integration去掉,接着下一步安装即可。

因为我已经装过了,我就不下一步了。

2.2 配置cuda环境变量

好,现在cuda已经装完了,那接下来还要配置它的环境变量。

现在系统变量中找到这两项(如果有就可以不用管了)

下一步进入系统变量的Path中,添加以下两项

添加好后验证一下。

cmd中输入:nvcc -V

这就是添加成功了。 

2.3 安装pytorch

conda activate yolov5进入我们创建的虚拟环境中。

上pytorch官网复制对应cuda的版本:PyTorch

 我这里下载的是12.1的,使用conda来安装,pip安装这个容易报错。

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
将上面这行指令复制到虚拟环境下安装。 

2.4 GPU开始训练

安装完成后,进入到我们的项目。

还是我们的训练指令,但是要修改一下,将device cpu 改成 device 0,你的电脑也可能需要的是device 1,优先0如果报错可以改成1。

可以训练cpu训练的那个数据集,这样就你就可以看到这训练的速度差点可不是一星半点。

python train.py --data test_data.yaml --weights yolov5s.pt --img 640 --epoch 100 --batch-size 16 --device 0

 当你显示出这行的时候,说明你的GPU被成功识别到了,那接下来看进度条从眼前飞过就行了。我的素材少所以很快。

当到了这里,说明你成功用你的GPU训练出了模型,快去试试效果吧~

当然可以!以下是手把手教你搭建 YOLOv5 的步骤: 1. 准备工作: - 确保你的电脑已经安装了 Python 3.8 或更高版本。 - 安装 PyTorch:可以根据你的操作系统和 CUDA 版本选择合适的安装命令,例如: ```shell pip install torch torchvision torchaudio ``` - 安装其他依赖库: ```shell pip install opencv-python matplotlib numpy ``` 2. 下载 YOLOv5 源代码: - 在终端中运行以下命令来克隆 YOLOv5 仓库: ```shell git clone https://github.com/ultralytics/yolov5.git ``` 3. 安装依赖库: - 进入 yolov5 目录: ```shell cd yolov5 ``` - 安装依赖库: ```shell pip install -r requirements.txt ``` 4. 准备数据集: - 准备好你的训练数据集,并将图像和对应的标签文件放入一个文件夹中。 5. 配置模型和数据: - 编辑 `yolov5/models/yolov5s.yaml` 文件,根据你的需求进行配置,例如设置 `nc` 参数为你的类别数量。 - 编辑 `data.yaml` 文件,设置 `train` 和 `val` 的路径,并配置类别数量和类别名称。 6. 训练模型: - 在终端中运行以下命令来开始训练模型: ```shell python train.py --img 640 --batch 16 --epochs 100 --data data.yaml --cfg models/yolov5s.yaml --weights '' ``` - 这个命令将使用默认参数来训练 YOLOv5 模型,你可以根据需要进行调整。 7. 测试模型: - 在终端中运行以下命令来测试模型效果: ```shell python detect.py --source your_image.jpg --weights runs/train/exp/weights/best.pt --conf 0.4 ``` - 这个命令将使用训练好的模型对指定图像进行目标检测,你可以调整 `--conf` 参数来控制检测结果的置信度阈值。 以上就是搭建 YOLOv5 的基本步骤,希望对你有帮助!如果有任何问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值