目录
1. 前言
YOLOv12 是 YOLO 系列中首个打破传统基于卷积神经网络(CNN)方法的模型,它通过将注意力机制直接集成到目标检测过程中实现了这一突破。
因此YOLOv12需要额外配置FlashAttention,此前的YOLO环境均不可用,需要按照最新的教程配置。此外,30系显卡以前的架构不支持较新的FlashAttention2.x,只能通过更换显卡解决,本文所用的显卡为1660super,也不支持FlashAttention2.x。
点击下载训练源码 夸克网盘下载 ,建议先全部转存提前下载,若有需要下载的资源失效,可至公众号获取百度盘链接下载。
YOLOv12网络结构图,论文必备,无水印图可 微信公众号-笑脸惹桃花 回复“1212” 获取。
2. 查看电脑状况
深度学习的训练对于电脑显卡要求较高,若电脑没有独立显卡(NVIDIA卡)或者是AMD的显卡无法使用GPU进行训练,需用CPU进行训练,会慢很多。若不清楚电脑有无显卡可以打开任务管理器,点击性能往下找GPU,就可以看到是否有独立显卡,不清楚是否为独立显卡则搜索型号。
若有独立显卡则安装GPU版本的pytorch,若无独立显卡则安装CPU版本的pytorch。
嫌麻烦或者教程看不懂的友友可以私信我或者关注公众号找我配置环境哦~
3. 安装所需软件
推荐安装Anaconda3+Pycharm,都需要加入环境变量,会安装或者安装过了则跳过这一步骤。
3.1 Anaconda3安装
Anaconda3由于是国外网站下载较慢,推荐通过清华镜像源安装。
Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /anaconda/archive/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D选择带有Anaconda3...Windows...exe 字样的进行下载,建议寻找我图片上同版本的文件下载,不然安装后软件界面不一致,容易出现看不懂的情况,可以点击网盘下载相同版本。
下载完成之后打开Anaconda3进行安装,一直点下一步,选Just Me,安装路径不建议安装到c盘,可以直接复制粘贴修改到 D:\Anaconda3 ,也可以修改到其他路径,最好纯英文路径。
点击下一步后,需要选择添加到环境变量,如下图前三个一定要勾选,也可以按照我图中全选。
点击install安装后耐心等待进度条满安装完成即可,进度较慢,耐心等待。
3.2 Pycharm安装
安装Pycharm可以直接去官网下载,速度较快。
下载 PyCharm:JetBrains 出品的用于数据科学和 Web 开发的 Python IDE现在最新版本的 PyCharm,适用于 Windows、macOS 或 Linux。https://www.jetbrains.com/zh-cn/pycharm/download/?section=windows往下拉下载第二个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 ,即可查看。
上图蓝框位置显示即为cuda最高支持版本,本教程cuda最高版本达到12.4即可,若没有达到则需要更新显卡驱动。
CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive在这个网站挑选下载或者直接点击夸克网盘下载或者点此下载。
下载完之后运行安装,建议安装到默认路径,所以C盘需要留有20G以上的存储空间,一直点击下一步,直到出现这个界面点击自定义,然后全部勾选即可。
一直下一步,耐心等待安装完成。
安装完成后可以再次在cmd里输入命令:nvcc -V 查看,如下显示即安装成功
4.1.2 cudnn安装
进入cudnn官网,选择合适版本的文件。
cuDNN Archive | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-archive进入后在文件列表中选择cudnn版本与上面cuda安装相匹配的版本。
下载Windows版本的压缩包文件。
下载需要登录,也可以复制下载链接打开迅雷下载,或者点击 夸克网盘下载。
将得到的压缩文件进行解压,解压后得到下图三个文件夹,全选复制进cuda的文件夹中进行覆盖替换,替换完成后即cudnn安装完成。按照本文教程安装的cuda的文件夹默认在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4 目录下。
4.2 创建虚拟环境
按下Win键,输入anaconda prompt,打开下图所示的应用。
默认进入的是base环境,base环境的版本与下载的anaconda3版本有关,因此不建议直接使用,需要新建环境,在新建环境之前建议更改默认的pip源和conda源可加速下载速度。
更改代码如下,直接输入即可,这里选择更换的是中科大源,建议使用,亲测完美运行。
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/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。
conda create -n yolov12 python=3.11
回车后出现新建环境提醒输入y继续,耐心等待全部下载完成后自动安装。
注意:此时如果报错
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel anaconda/pkgs/free <https://mirrors.ustc.edu.cn/anaconda/pkgs/free>
The channel is not accessible or is invalid.
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
等错误,需要修改隐藏文件 .condarc文件的内容,具体路径为:c:\users\用户名\.condarc
使用记事本打开,复制下面这一段进去替换掉原本所有的内容,替换完之后保存即可
channels:
- defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
此时再次输入命令新建yolov12环境
conda create -n yolov12 python=3.11
创建完之后输入如下命令进入yolov12环境,之后所有的操作,包括但不限于库的安装修改、代码运行都在该环境中。
conda activate yolov12
此时有NVIDIA显卡安装GPU版看4.3,其它需要安装CPU版看4.4。无CPU我不确定能不能使用FlashAttention,目前我了解到的flash-attention库下载全部需要cuda。
4.3 下载YOLOv12源代码
YOLOv12源码地址
GitHub - sunsmarterjie/yolov12: YOLOv12: Attention-Centric Real-Time Object DetectorsYOLOv12: Attention-Centric Real-Time Object Detectors - sunsmarterjie/yolov12https://github.com/sunsmarterjie/yolov12点进去下载代码,看到main下载即可,30系以下显卡不推荐下载v1.0,会导致无法训练验证,进不去可能需要科学上网,或者点击下载 夸克网盘下载 ,cat图片及本文版本适配的flash_attn一并上传,(压缩包内附带yolov12n.pt、yolov12s.pt和yolov12m.pt预训练权重,链接资源失效请评论区反馈,看到会补,或者至公众号下载)可以下载下图所示几个预训练权重文件,常规使用yolov12n.pt即可,我这里上传的是v1.0版的权重,需要其他的可自己去下载。
下完完成将文件夹解压即可,建议D盘的不带中文路径的文件夹中 。
4.4 安装GPU版本
4.4.1 安装pytorch(GPU版)
打开prompt 输入conda activate yolov12进入yolov12环境,之后输入下方命令即可安装pytorch,耐心等待安装完成。
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124
torch及相关库比较大,需要耐心等待下载完之后出现 done 则安装完成,因为是外网,如果下载不下来,可以点此下载torch 夸克网盘分享 ,注意需要下载torch-2.4.1,然后通过pip install安装本地文件的方式安装,可以参考下图的方式,将torch放入d盘的test文件夹下,通过cd将文件目录跳转,再输入如下指令。(torch-2.4.0运行有不过,安装torch-2.4.1)(只支持python3.11版本,其余版本无法安装)
pip install torch-2.4.1+cu124-cp311-cp311-win_amd64.whl
耐心等待安装完成后,再输入下面的指令通过pip安装其余库。
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的路径,此时应该cd进入yolov12-main 这个文件夹,也就是在相对路径下输入此命令,可以参考下图(),然后输入以下命令后耐心等待即可。
将下面的内容复制到requirements.txt中保存
#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
然后输入下列指令
pip install -r requirements.txt
出现下图则环境配置完成。
使用yolov12-main,v1.0与30系以下显卡不兼容,无法训练验证模型(本人新换显卡,需要购买旧显卡GTX 1660SUPER 过渡可与我联系)。
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-main文件夹中,cd到yolov12-main文件夹后输入如下指令安装,flash_attn已经上传,需要可在yolov12-main 压缩包中下载 夸克网盘下载
pip install flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
4.5 安装CPU版本
直接将requirements.txt输入指令,然后
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-main路径下输入
pip install -r requirements.txt
耐心等待安装完成
5. YOLOv12的使用及训练
5.1 pycharm导入环境
下载完成之后解压到D盘或其它盘文件夹内,此时点击鼠标右键文件夹通过pycharm打开,打开后需要配置虚拟环境,新版pycharm可选中文语言,点击 文件-设置,点击 项目:YOLOv12-main,点击python解释器,点击右边添加解释器-添加本地解释器,选现有.
点击Virtualenv环境 - 现有,点击右边三个点,找到刚才添加的yolov12环境的位置,按照本文配置即是D:\Anaconda3\envs\yolov12\python.exe 路径,之后一直点确定,点应用,再点确定即可。
或者新版本的界面更为简单,按照下图方式选择就可以,这里一定看清楚。
选择python,接着选择刚刚添加的yolov12环境,选择python.exe,
如果找不到环境所在位置,可以输入
conda env list
查看环境所在位置
并寻找后选择python.exe。
下图为环境正在加载,耐心等待完成即可,等待环境加载完成即可运行代码。
教程看不懂的朋友可以私信我或者公众号找我配置环境
5.2 验证环境
下载完成后将权重文件复制到ultralytics根目录下,即本文的yolov12-main目录下,此时可以去网上下载一只猫猫的jpg图片(或者其它图片,根据自己喜好更改),修改文件名为cat.jpg。检测环境是否有问题可以在prompt里yolov12环境下运行,或者pycharm中运行,都可以。注意预训练权重的文件名与代码中的文件名对应,看清楚文件名,FileNotFoundError: xxxx does not exist 类似这种报错都是文件没找到,自己细心一点就能避免。运行下面的指令需要cd到yolov12-main目录,不然会报错。
新建一个yolov12_predict.py,在文件中添加如下代码
from ultralytics import YOLO
# 加载预训练的 YOLOv12n 模型
model = YOLO('yolov12n.pt')
source = 'cat.jpg' #更改为自己的图片路径
# 运行推理,并附加参数
model.predict(source, save=True)
pycharm中新建python文件的方式如下
在左侧红框的位置右键,然后鼠标移动到新建-python文件,输入python文件名,然后输入 yolov12_predict 即可。
或者通过命令行的方式运行
yolo predict model=yolov12n.pt source='cat.jpg'
输入下图类似的则环境配置完成
如果有报错如:“OSError: [WinError 126] 找不到指定的模块。 Error loading "OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\ProgramData\anaconda3\envs\yolov12\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. 这个报错,是缺少库,需要去下载
下载这个文件夸克网盘下载,将其解压后的libomp140.x86_64.dll 文件复制到D:\ProgramData\anaconda3\envs\yolov12\Lib\site-packages\torch\lib 文件夹中即可解决问题。
沿着路径找到下面的图像就可以正常使用环境了。
YOLOv12的训练可以查看这篇文章。
如果遇到报错或者有疑问可以评论区交流,报错了先确定是按照我的教程配置的,仍然有问题再问。 关注微信公众号 快速联系我~