问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLOv5超详细环境搭建以及模型训练(GPU版本)

创作时间:
作者:
@小白创作中心

YOLOv5超详细环境搭建以及模型训练(GPU版本)

引用
CSDN
1.
https://blog.csdn.net/2401_85556416/article/details/141495837

YOLOv5训练环境搭建

  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)下载地址一(官网):

  • CUDA下载官网:CUDA Toolkit Archive | NVIDIA Developer
    下载小于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)下载地址一(官网)

  • 下载官网:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse742-10
    下载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小节)
解决方法参考:http://t.csdnimg.cn/OkQyN

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】目录下
到此,环境的搭建以及模型的训练就完成了!!!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号