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

YOLOv10训练环境搭建

目录

1.安装CUDA和cuDNN

1.1安装CUDA

1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它

1.1.2 下载CUDA(官网或者百度网盘)

1.1.3 安装CUDA 11.8

1.2配置cuDNN

1.2.1下载cuDNN(官网或者百度网盘)

1.2.2 配置cuDNN

2.安装Anaconda

2.1 下载Anaconda

2.2 安装Anaconda

2.3 配置环境变量

3.创建python虚拟环境

3.1创建python虚拟环境

3.2 虚拟环境的路径设置( 常见问题以及解决方法)(如果3.1在创建虚拟环境的时候,路径不是anaconda3的安装路径下,而是总是在c盘,才需要进行3.2小节的设置,否则跳过3.2小节)

4.打开项目

4.1 然后打开yolov10项目

5.在Pycharm中调用yolov10环境

6.pycharm中添加镜像地址

7.安装GPU版本的torch

8.安装其他的项目依赖

9.以训练NEU-DET数据集为例训练模型

9.1创建数据集

9.2 创建数据集的配置文件NEU-DET.yaml文件

9.3 创建模型对象yolov10-neu-det.yaml

9.4 创建train.py文件方便后续的训练

9.5模型训练的成功截图

-------------------------------------------------------------------------------------------------------------------

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 yolov10 python=3.11.4

其中:yolov10是虚拟环境名称(可以任意取名),python=3.11.4是指定python的版本(也可指定另外的版本)

输入【y】,之后回车开始安装

如果出现如下界面,表示安装完成。

输入命令可以查看虚拟环境否创建成功:conda env list

如下界面表示创建成功(虚拟环境名称以及虚拟环境的路径):

激活进入环境:activate yolov10

激活成功后,前面的base会替换成yolov10

备注:如果需要删除刚刚创建的虚拟环境,可以通过如下命令删除:

conda remove -n yolov10 --all

3.2 虚拟环境的路径设置( 常见问题以及解决方法)
(如果3.1在创建虚拟环境的时候,路径不是anaconda3的安装路径下,而是总是在c盘,才需要进行3.2小节的设置,否则跳过3.2小节)

解决方法参考:http://t.csdnimg.cn/OkQyN

4.打开项目

YOLO系列项目官网下载地址:主页 -Ultralytics YOLO 文档

yolov10官网下载地址:https://github.com/THU-MIG/yolov10

yolov10百度网盘下载地址链接:链接:百度网盘 请输入提取码

提取码:bz0k

yolov10压缩包下载完成之后,解压到某个路径下(可以解压在D盘)

4.1 然后打开yolov10项目

Pycharm前提已经安装完成(如果没有安装,可以网上搜索Pycharm的安装教程,有很多)

Pycharm软件中打开项目

5.在Pycharm中调用yolov10环境

点击【File】-->【setting】-->【Project】-->【Python Interpreter】-->【Add Interpreter】-->【Add Local Interpreter】

设置虚拟环境

备注:在Pycharm中如何查看当前项目使用的虚拟环境:

点击左下角的【Terminal】,可以看出使用的虚拟环境

或者在当前项目下新建一个test-p.py文件,输入如下代码并运行

import sys
print(sys.prefix)

截图如下,可以看出使用的是yolov10虚拟环境以及虚拟环境的路径:

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】,进入yolov10虚拟环境之后,粘贴上面复杂的torch版本进行安装(然后等待安装完成)

8.安装其他的项目依赖

左下角终端打开,安装项目依赖,执行命令:pip install -r requirements.txt

如果没有requirements.txt这个文件,可以直接在项目下新建这个文件,将下面的内容复制进去

torch==2.0.1
torchvision==0.15.2
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxsim==0.4.36
onnxruntime-gpu==1.18.0
gradio==4.31.5
opencv-python==4.9.0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.3

9.以训练NEU-DET数据集为例训练模型

9.1创建数据集

数据集下载地址:

链接:https://pan.baidu.com/s/1peB3kd6T7xNoKnjxsrKHuw?pwd=xqcm 
提取码:xqcm

然后将下载的数据集解压之后放在项目的data目录(如何没有此目录,自己创建一个)下。

9.2 创建数据集的配置文件NEU-DET.yaml文件

在项目的【ultralytics/cfg/datasets】目录下新建一个NEU-DET.yaml,内容如下

path: D:/YOLO/YOLOv10/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 创建模型对象yolov10-neu-det.yaml

在项目的【ultralytics/cfg/models/v10】目录下新建一个yolov10-neu-det.yaml,代码如下

# Parameters
nc: 6 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.33, 0.25, 1024] 

# YOLOv8.0n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
  - [-1, 3, C2f, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]] # 9
  - [-1, 1, PSA, [1024]] # 10

# YOLOv8.0n head
head:
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
  - [-1, 3, C2f, [512]] # 13

  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 4], 1, Concat, [1]] # cat backbone P3
  - [-1, 3, C2f, [256]] # 16 (P3/8-small)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 13], 1, Concat, [1]] # cat head P4
  - [-1, 3, C2f, [512]] # 19 (P4/16-medium)

  - [-1, 1, SCDown, [512, 3, 2]]
  - [[-1, 10], 1, Concat, [1]] # cat head P5
  - [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)

  - [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)

截图如下:

9.4 创建train.py文件方便后续的训练

在项目的根目录下创建train.py文件方便后续的训练,后面主需要运行train.py文件就可以再次进行训练了,不必每次都需要出入一次运行命令

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLOv10

if __name__ == '__main__':
    model = YOLOv10('ultralytics/cfg/models/v10/yolov10-neu-det.yaml')   # 指定YOLO模型对象,并加载指定配置文件中的模型配置
    #model.load('yolov10s.pt')      #加载预训练的权重文件'yolov10s.pt',加速训练并提升模型性能
    model.train(data='ultralytics/cfg/datasets/NEU-DET.yaml',   # 指定训练数据集的配置文件路径,这个.yaml文件包含了数据集的路径和类别信息
                cache=False,  # 是否缓存数据集以加快后续训练速度,False表示不缓存
                imgsz=640,    # 指定训练时使用的图像尺寸,640表示将输入图像调整为640x640像素
                epochs=200,   # 设置训练的总轮数为200轮
                batch=16,      # 设置每个训练批次的大小为16,即每次更新模型时使用16张图片
                close_mosaic=10,  # 设置在训练结束前多少轮关闭 Mosaic 数据增强,10 表示在训练的最后 10 轮中关闭 Mosaic
                workers=8,       # 设置用于数据加载的线程数为8,更多线程可以加快数据加载速度
                patience=50,     # 在训练时,如果经过50轮性能没有提升,则停止训练(早停机制)
                device='0',      # 指定使用的设备,'0'表示使用第一块GPU进行训练
                optimizer='SGD', #设置优化器为SGD(随机梯度下降),用于模型参数更新
                )

截图如下:

9.5模型训练的成功截图

模型训练的结果保存在项目的【run/detect】目录下

到此,环境的搭建以及模型的训练就完成了!!!

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装CUDA和cuDNN 在安装YOLOv5之前,需要先安装CUDA和cuDNN。CUDA是一种用于GPU加速计算的平台,而cuDNN是一个用于深度神经网络的库。YOLOv5需要CUDA 10.2和cuDNN 7.6.5或更高版本。 可以从NVIDIA官网上下载CUDA和cuDNN安装文件。安装过程中需要注意选择相应的操作系统和GPU型号。 2. 安装Python和必要的库 YOLOv5是用Python编写的,需要安装Python和一些必要的库。建议使用Anaconda进行安装,这样可以方便地管理Python环境和库的依赖关系。 可以从Anaconda官网上下载安装文件,安装过程中需要注意选择相应的操作系统和Python版本。安装完成后,可以使用conda命令安装必要的库,如下所示: conda install numpy opencv scipy matplotlib pillow 3. 下载YOLOv5源代码 可以从YOLOv5的GitHub仓库中下载源代码,使用git命令可以方便地进行版本控制和更新。打开终端,进入要下载代码的目录,执行以下命令: git clone https://github.com/ultralytics/yolov5.git 4. 下载预训练模型 YOLOv5提供了预训练模型,可以从官网上下载。下载完成后,将预训练模型放入yolov5目录下的weights文件夹中。 5. 运行YOLOv5 在终端中进入yolov5目录,执行以下命令即可运行YOLOv5: python detect.py --weights weights/yolov5s.pt --img 640 --conf 0.4 --source 0 其中,--weights参数指定了预训练模型的路径,--img参数指定了输入图像的大小,--conf参数指定了置信度阈值,--source参数指定了输入源,可以是摄像头、视频文件或图像文件。 如果要使用GPU进行加速,需要在命令中添加--device参数,如下所示: python detect.py --weights weights/yolov5s.pt --img 640 --conf 0.4 --source 0 --device 0 其中,--device参数指定了使用的GPU设备编号,可以是0、1、2等。如果有多个GPU,可以指定多个设备编号,如--device 0,1,2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值