YOLOv5训练环境搭建
目录
1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它
1.安装CUDA和cuDNN
1.1安装CUDA
1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它
方法一:通过命令的方式查看
nvidia-smi
方法二:【鼠标右键桌面】--【显示更多选项】--【NVIDIA控制面板】--在控制面板的左下角点击【系统信息】--选择【组件】
NVIDIA CUDA 12.1.68 driver就是显卡支持的CUDA版本
1.1.2 下载CUDA(官网或者百度网盘)
(1)下载地址一(官网):
下载小于12.1版本都都可以,我这里下载的是11.8.0,然后点击【CUDA Toolkit 11.8.0】
- 下载CUDA11.8
(2)下载地址二(百度网盘):
11.8.0版本的百度网盘下载地址:链接:百度网盘 请输入提取码
提取码:h0tw
1.1.3 安装CUDA 11.8
- 点击刚下载的CUDA进行安装
- 下面的路径是提取地址,安装完后会自动删除,选择默认即可,点击【OK】
- 等待提取完成
- 点击【同意并继续】
- 选择【自定义】,点击【下一步】
- 驱动组件可以全部勾选,点击【下一步】
- cmd命令【nvcc -V】查看CUDA是否安装成功,如果出现如下界面表示CUDA安装成功
1.2配置cuDNN
1.2.1下载cuDNN(官网或者百度网盘)
(1)下载地址一(官网)
下载cuDNN,先登录,按照提示流程注册、登录即可。
cuDNN选择支持CUDA的版本(刚刚下载的CUDA是哪个版本就选择对应的版本)(CUDA 11.x则代表支持CUDA11代版本的所有版本)
下载对应自己电脑系统的版本。
(2)下载地址一(百度网盘)
链接:百度网盘 请输入提取码
提取码:bwas
1.2.2 配置cuDNN
解压cuDNN压缩包,然后将cuDNN文件夹里面的几个文件复制到CUDA的安装目录下直接覆盖
覆盖
2.安装Anaconda
2.1 下载Anaconda
(1)Anaconda下载方式一(官网)
Anaconda下载官网:Anaconda | The Operating System for AI
点击下载【Free Download】即可
然后点击【Download】
(2)Anaconda下载方式二(百度网盘)
链接:百度网盘 请输入提取码
提取码:9hcx
2.2 安装Anaconda
点击安装包,然后点击【Next]
- 点击【I Agree】
- 点击【Next】
- 安装路径的选择,点击【Next】
- 点击【INstall】,然后等待安装完成
- 点击【Next】
- 点击【Next】
- 点击【Finish】
2.3 配置环境变量
右键点击【我的电脑】(此电脑)--【属性】--点击【高级系统设置】--【高级】--【环境变量】-找到系统变量下的【Path】--右侧点击【新建】,按照我标红框的进行添加即可。(注意anaconda3的安装路径
3.创建python虚拟环境
3.1创建python虚拟环境
虚拟环境的作用:虚拟环境可以隔离不同项目的依赖项,避免不同项目之间的干扰,使项目更加稳定。
首先进入命令界面
输入如下命令:
conda create -n yolov5 python=3.11.4
其中:yolov5是虚拟环境名称(可以任意取名),python=3.11.4是指定python的版本(也可指定另外的版本)
输入【y】,之后回车开始安装
如果出现如下界面,表示安装完成。
输入命令可以查看虚拟环境否创建成功:conda env list
如下界面表示创建成功(虚拟环境名称以及虚拟环境的路径):
激活进入环境:activate yolov5
激活成功后,前面的base会替换成yolov5
备注:如果需要删除刚刚创建的虚拟环境,可以通过如下命令删除:
conda remove -n yolov5 --all
3.2 虚拟环境的路径设置( 常见问题以及解决方法)
(如果3.1在创建虚拟环境的时候,路径不是anaconda3的安装路径下,而是总是在c盘,才需要进行3.2小节的设置,否则跳过3.2小节)
解决方法参考:【BUG】使用Anaconda3创建虚拟环境时,总是安装到C盘全局默认路径,而不是安装到自定义的Anaconda的envs目录下的解决方法_为什么创建的虚拟环境在c盘-CSDN博客
4.打开项目
YOLO系列项目官网下载地址:主页 -Ultralytics YOLO 文档
yolov5官网下载地址:https://github.com/ultralytics/yolov5
yolov5百度网盘下载地址链接:百度网盘 请输入提取码
提取码:qcaj
yolov5压缩包下载完成之后,解压到某个路径下(可以解压在D盘)
4.1 然后打开yolov5项目
Pycharm前提已经安装完成(如果没有安装,可以网上搜索Pycharm的安装教程,有很多)
Pycharm软件中打开项目
5.在Pycharm中调用yolov5环境
点击【File】-->【setting】-->【Project】-->【Python Interpreter】-->【Add Interpreter】-->【Add Local Interpreter】
设置虚拟环境
备注:在Pycharm中如何查看当前项目使用的虚拟环境:
点击左下角的【Terminal】,可以看出使用的虚拟环境
或者在当前项目下新建一个test-p.py文件,输入如下代码并运行
import sys
print(sys.prefix)
截图如下,可以看出使用的是yolov5虚拟环境以及虚拟环境的路径:
6.pycharm中添加镜像地址
添加镜像可以加快下载依赖包的速度。
点击图标【Python Packages】--点击设置按钮【Manage respositories】
点击【+】--在【Name】处随意更改名字,然后在【Repository URL】填上镜像源地址,最后点击【OK】
一些镜像地址:
1.清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/
2.阿里云镜像源:http://mirrors.aliyun.com/pypi/simple/
3.中国科技大学镜像源:https://pypi.mirrors.ustc.edu.cn/simple/
7.安装GPU版本的torch
torch官网:Previous PyTorch Versions | PyTorch
选择和CUDA对应的torch版本(前面自己已经安装的版本),然后复制
- 进入pycharm,点击【Teminal】,进入yolov5虚拟环境之后,粘贴上面复杂的torch版本进行安装(然后等待安装完成)
8.安装其他的项目依赖
左下角终端打开,安装项目依赖,执行命令:pip install -r requirements.txt
9.以训练NEU-DET数据集为例训练模型
9.1创建数据集
数据集下载地址:链接:百度网盘 请输入提取码
提取码:xqcm
然后将下载的数据集解压之后放在项目的data目录(如何没有此目录,自己创建一个)下。
9.2 创建数据集的配置文件NEU-DET.yaml文件
在项目的【data】目录下新建一个NEU-DET.yaml,内容如下
path: D:/YOLO/YOLOv5/data/NEU-DET # 注意修改自己NEU-DET数据集的路径
train: train/images # train images
val: val/images # val images
test: test/images # test images
# Classes
names:
0: crazing
1: inclusion
2: patches
3: pitted_surface
4: rolled-in_scale
5: scratches
截图如下
9.3 创建模型对象yolov5-neu-det.yaml
在项目的【models】目录下新建一个yolov5-neu-det.yaml,代码如下
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters
nc: 6 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple
anchors:
- [10, 13, 16, 30, 33, 23] # P3/8
- [30, 61, 62, 45, 59, 119] # P4/16
- [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone
backbone:
# [from, number, module, args]
[
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 6, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
]
# YOLOv5 v6.0 head
head: [
[-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
]
截图如下:
9.4 修改train.py文件训练模型
这里只修改YOLO模型对象和数据集配置文件,改为自己刚刚创建的文件,其余选择默认
9.5模型训练的成功截图
模型训练的结果保存在项目的【runs\train】目录下
到此,环境的搭建以及模型的训练就完成了!!!