YOLOv12环境配置

YOLOv12环境配置

作者:zzy-swimming
指导:

目录

  1. #前言
  2. #查看电脑状况
  3. #安装所需软件
    • #3.1-anaconda3安装
    • #3.2-pycharm安装
  4. #安装环境
    • #4.1-安装cuda及cudnn
      • #411-下载及安装cuda
      • #412-cudnn安装
    • #4.2-创建虚拟环境
    • #4.3-下载yolov12源代码
    • #4.4-安装gpu版本
      • #441-安装pytorchgpu版
      • #442-安装requirements
      • #443-安装flash-attention
    • #4.5-安装cpu版本
  5. #yolov12的使用及训练
    • #5.1-pycharm导入环境
    • #5.2-验证环境

1. 前言

在此之前,我对Anaconda,cudnn,cuda几乎一无所知。对pytorch的了解也只是知道它是一个深度学习库,并且对于GPU来讲,我只是知道存在这个东西。完成这个流程之后,我知道了GPU是电脑的显卡,负责大规模并行计算,速度很快。CUDA是让GPU能干通用计算(比如深度学习)的驱动和工具包。cuDNN是在CUDA基础上,专门为深度学习加速的算法库。PyTorch是一个流行的深度学习框架,使用它写代码,它可以调用底层的CUDA/cuDNN和GPU。Anaconda是极好的环境管理工具,可以安装和管理PyTorch、CUDA等所有软件包,避免版本冲突。

2. 查看电脑状况

深度学习的训练对于电脑显卡要求较高,若电脑没有独立显卡(NVIDIA卡)或者是AMD的显卡无法使用GPU进行训练,需用CPU进行训练,会慢很多。若不清楚电脑有无显卡可以打开任务管理器,点击性能往下找GPU,就可以看到是否有独立显卡,不清楚是否为独立显卡则搜索型号。

若有独立显卡则安装GPU版本的pytorch,若无独立显卡则安装CPU版本的pytorch。

3. 安装所需软件

推荐安装Anaconda3+Pycharm,都需要加入环境变量,会安装或者安装过了则跳过这一步骤。

3.1 Anaconda3安装

Anaconda3由于是国外网站下载较慢,推荐通过清华镜像源安装。

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择带有Anaconda3…Windows…exe字样的进行下载,下载完成之后打开Anaconda3进行安装,一直点下一步,选JustMe,安装路径不建议安装到c盘,可以直接复制粘贴修改到D:\Anaconda3,也可以修改到其他路径,最好纯英文路径。

点击下一步后,需要选择添加到环境变量,前三个一定要勾选,也可以全选。

点击install安装后耐心等待进度条满安装完成即可,进度较慢,耐心等待。

问题一: 因为miniconda的体量更小,我想着先下miniconda好了。下载之后,找miniconda navigator(anaconda navigator)这个启动极好的文件,在文件查找里死活找不到。最后还是把miniconda安装程序给删除掉了,安装了anaconda,anaconda navigator一查就有。

3.2 Pycharm安装

安装Pycharm可以直接去官网下载,速度较快。

https://www.jetbrains.com/pycharm/download/

往下拉下载第二个Community Edition社区免费版就可以。

下载完之后打开安装,点下一步,遇到选择路径修改路径到D盘或者其它除C盘外的文件夹,可以建个自己喜欢的英文名字。

点击下一步建议全选。

再点下一步,直接安装就可以了,耐心等待进度条满安装完成即可。

4. 安装环境

4.1 安装cuda及cudnn

4.1.1 下载及极好的安装cuda

在安装pytorch前需要安装cuda,(若无显卡或intel的显卡则跳过,直接看4.2)下载cuda前需要先查看显卡支持的CUDA版本最高是多少,按下win+r键,输入cmd,在打开的页面输入:nvidia-smi,即可查看。

[图片: nvidia-smi命令输出示例]

上图蓝框位置显示即为cuda最高支持版本,本教程cuda最高版本达到12.4即可,若没有达到则需要更新显卡驱动。

https://developer.nvidia.com/cuda-toolkit-archive

在这个网站挑选下载

下载完之后运行安装,建议安装到默认路径,所以C盘需要留有20G以上的存储空间,一直点击下一步,点击自定义,然后全部勾选即可。

一直下一步,耐心等待安装完成。

安装完成后可以再次在cmd里输入命令:nvcc -V查看,如下显示即安装成功

[图片: nvcc -V命令输出示例]

4.1.2 cudnn安装

进入cudnn官网,选择合适版本的文件。

https://developer.nvidia.com/rdp/cudnn-archive

进入后在文件列表中选择cudnn版本与上面cuda安装相匹配的版本。

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

下载Windows版本的压缩包文件

下载需要登录,将得到的压缩文件进行解压,解压后得到下图三个文件夹,

[图片: cudnn解压后的文件夹结构]

全选复制进cuda的文件夹中进行覆盖替换,替换完成后即cudnn安装完成。按照本文教程安装的cuda的文件夹默认在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4目录下。

4.2 创建虚拟环境

按下Win键,输入anaconda prompt,打开下图所示的应用。

[图片: anaconda prompt应用图标]

默认进入的是base环境,base环境的版本与下载的anaconda3版本有关,因此不建议直接使用,需要新建环境,在新建环境之前建议更改默认的pip源和conda源可加速下载速度。

更改代码如下,直接输入即可,这里选择更换的是中科大源,建议使用,亲测完美运行。

1
2
3
4
5
6
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/an极好的aconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

此时新建虚拟环境(需要关闭加速软件),这里创建一个名为yolov12,python版本为3.11的虚拟环境,也可以修改为其他名,本文所用为python3.11,同时本教程所用pytorch源及python版本只支持 3.11。

问题二: 我自己电脑上的Python本来是python3.12。但是当时在做的过程中,我想着它还真能启动不了吗?那就试一试呗。结果在完成最后步骤的时候,一直无法启动成功。最终还是把python版本回退回来了

1
conda create -n yolov12 python=3.11

回车后出现新建环境提醒输入y继续,耐心等待全部下载完成后自动安装。

此时再次输入命令新建yolov12环境

1
conda create -n yolov12 python=3.11

创建完之后输入如下命令进入yolov12环境,之后所有的操作,包括但不限于库的安装修改、代码运行都在该环境中。

此时有NVIDIA显卡安装GPU版看4.3,其它需要安装CPU版看极好的4.4。无CPU我不确定能不能使用FlashAttention,目前我了解到的flash-attention库下载全部需要cuda。

4.3 下载YOLOv12源代码

YOLOv12源码地址

https://github.com/sunsmarterjie/yolov12

点进去下载代码,看到main下载即可。

下完完成将文件夹解压即可,建议C盘以外的不带中文路径的文件夹中(我的是F:\yolov12)。

4.4 安装GPU版本

4.4.1 安装pytorch(GPU版)

打开prompt输入conda activate yolov12进入yolov12环境,之后输入下方命令即可安装pytorch,耐心等待安装完成。

1
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124

问题三: 下载这个需要科学上网,也就是需要VPN。我当时用的是维多利亚大学的VPN,但是维多利亚大学的VPN会给你限流,显示的是让我全部下载下来需要25个小时还要多。我想的是,能不用网盘里的东西就不用,我想自己弄嘛。我就暂停了它的下载过程,就CTRL+C强制暂停嘛。然后当我找到了加速器在进行下载的时候,出现了问题,死活下载不了了。

[图片: 下载错误截图]

但是我知道PIP这个命令它是有自动重试机制的,然后我就询问AI接下来我应该怎么做。AI分析了我出现的四个问题,第一个问题是网络问题导致下载超时。第二个问题是用户取消操作,第三个问题是PiP的自动重试机制,第四个问题是最终失败文件被占用。然后我就删除了电脑的缓存文件,并进行了重启。而且还使用了加速器,再接着下载之后依然是这个界面。不得已那就先用网盘吧。

torch及相关库比较大,需要耐心等待下载完之后出现 done则安装完成,注意需要下载torch-2.4.1,然后通过pip install安装本地文件的方式安装,可以参考下图的方式,将torch放入f盘的test文件夹下,通过cd将文件目录跳转,再输入如下指令。(torch-2.4.0运行有bug,安装torch-2.4.1)(只支持python3.11版本,其余版本无法安装)

1
pip install torch-2.4.1+cu124-cp311-cp311-win_amd64.whl

耐心等待安装完成后,再输入下面的指令通过pip安装其余库。

1
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124

4.4.2 安装requirements

需要安装requirements,这里找到yolov12这个文件夹内的requirements文件直接修改就行

将下面的内容复制到requirements.txt中保存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#torch==2.2.2
#torchvision==0.17.2
#flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
timm==1.0.14
albumentations==2.0.4
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxslim==0.1.31
onnxruntime-gpu==1.18.0
gradio==4.44.1
opencv-python==4.9.0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.3
numpy==1.26.4
thop

需要将路径修改为yolov12的路径,此时应该cd进入yolov12这个文件夹,也就是在相对路径下输入此命令,可以参考下图,需要先修改所需库,然后输入以下命令后耐心等待即可。

1
2
(yolov12) F:\>cd yolov12
(yolov12) F:\yolov12>pip install -r requirements.txt

然后输入下列指令

1
pip install -r requirements.txt

出现下图则环境配置完成。

[图片: 安装成功截图]

1
Requirement already satisfied: networkx in c:\users\z'z'y\,conda\envs\yolo 2\lib\site-packages(from torch->timm==1.0.14->-r requirements.txt(line 4(3.5)Installing collected packages: defusedxml, supervision Successfully installed defusedxml-0.7.1 supervision-0.22.0

使用yolov12-main,v1.0与30系以下显卡不兼容,无法训练验证模型

4.4.3 安装flash-attention

除了这些之外,还需要安装flash-attention,对于版本的选择也比较麻烦,网站如下

Windows: https://github.com/bdashore3/flash-attention/releases

Linux: https://github.com/Dao-AILab/flash-attention/releases

windows系统的版本我选择了2.7.0post2

下载完成之后需要本地安装,复制极好的到yolov12文件夹中,cd到yolov12文件夹后输入如下指令安装

1
(yolov12) F:\yolov12>pip install flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
1
pip install flash_attn-2.7.0.post2+cul24torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl

4.5 安装CPU版本

直接将requirements.txt打开后以下面的内容替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
torch==2.2.2
torchvision==0.17.2
#flash_attn-2.7.3+cul1torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
timm==1.0.14
albumentations==2.0.4
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxslim==0.1.31
onn极好的xruntime-gpu==1.18.0
gradio==4.44.1
opencv-python==4.9.极好的0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.极好的3
numpy==1.26.4
thop

然后在 yolov12路径下输入

1
pip install -r requirements.txt

耐心等待安装完成

5. YOLOv12的使用及训练

5.1 pycharm导入环境

下载完成之后解压到D盘或其它盘文件夹内,此时点击yolov12文件夹鼠标右键文件夹通过pycharm打开,打开后需要配置虚拟环境,新版pycharm可选中文语言,点击文件-设置,点击项目:yolov12,点击python解释器,点击右边添加解释器-添加本地解释器,选现有.

按照下图方式选择就可以,这里一定看清楚。

[图片: pycharm环境配置界面]

选择python,接着选择刚刚添加的yolov12环境,选择python.exe,

如果找不到环境所在位置,可以输入

1
conda env list

查看环境所在位置

[图片: conda env list命令输出]

并寻找后选择python.exe。

下图为环境正在加载,耐心等待完成即可,等待环境加载完成即可运行代码。

[图片: pycharm环境加载中]

5.2 验证环境

新建一个yolov12_predict.py,在文件中添加如下代码

1
2
3
4
5
6
7
8
from ultralytics import YOLO

#加载预训练的 YOLOv12n模型
model = YOLO('yolov12n.pt')
source = '#####.jpg' #更改为自己的图片路径

#运行推理,并附加参数
model.predict(source, save=True)

pycharm中新建python文件的方式如下

[图片: pycharm新建文件界面]

在左侧框的位置右键,然后鼠标移动到新建-python文件,输入python文件名,然后输入yolov12_predict即可。

或者通过命令行的方式运行

1
yolo predict model=yolov12n.pt source='cat.jpg'

输入下图类似的则环境配置完成

[图片: 验证成功输出]

CPU处理结果:

[图片: CPU处理结果]

GPU处理结果:

[图片: GPU处理结果]