适合小白的超详细yolov12环境配置+实例运行教程,从零开始教你如何使用yolov12训练自己的数据集(Windows+conda+pycharm)

大家好,今天要给大家介绍的是2025年2月19日最新发布的目标检测模型——YOLOv12。相信关注计算机视觉和深度学习的小伙伴们都已经听说过YOLO系列,作为目标检测领域的“老牌明星”,YOLO每次更新都会带来不少惊喜。那么,新鲜出炉的YOLOv12,它到底有哪些亮点呢?今天,就让我们一起来深入了解一下!

一、YOLOv12论文信息

论文题目:YOLOv12: Attention-Centric Real-Time Object Detectors

论文链接:https://arxiv.org/abs/2502.12524

代码链接:https://github.com/sunsmarterjie/yolov12

二、环境配置

网上都有,推荐新手下载python3.11版本的。有想要长期训练自己代码能力的推荐使用Anaconda
安装教程网上都有,不要听网上的人使用清华源,什么源的全是有问题的,最好是慢慢下载,用源下载的后续出问题自己负责
在pycharm中使用Anaconda的步骤 

1、pycharm创建解释器

1、点击右下角的解释器

2、新建解释器
3、添加本地解释器

4、取名最好取一个自己知道这是关于什么项目的python解释器名字

5、下拉框选择python版本


2、cmd创建python环境

conda create -n yolov12 python=3.11
conda activate yolov12
pip install -r requirements.txt
pip install -e .

三、安装requirements环境

安装requirements.txt文件,尾缀加上清华源下载会快

下载之前, 由于我们的系统是win系统,下面的whl文件无法直接下载,txt里把whl文件加上#或者删除这一行,优先选用下载代码

//不加清华源

pip install -r requirements.txt

//加清华源

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

Ultralytics YOLO12 默认不需要FlashAttention。不过,FlashAttention 可以选择与 YOLO12 一起编译和使用。要编译 FlashAttention,需要以下NVIDIA ®)图形处理器 


本人下载的是

flash_attn-2.5.9.post2+cu122torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl

分别是:CUDA 版本:12.2 PyTorch 版本:2.3.1 Python 版本:3.11 操作系统:Windows 64-bit

想和我下载一样的PyTorch 版本:2.3.1
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
 

!!真心提醒别用清华源下载pytorch,因为清华源下载的不一定GPU哦,关于pytorch使用GPU好还是CPU好请去网上询问以及为什么pytorch要用GPU版本

此时whl文件需要留意是属于适配于自己的环境,其中文件名称【flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-win_x86_64.whl】的具体含义为需要适配CUDA 11、PyTorch 2.2、python3.11

查看CUND版本:CUDA学习(一)——如何查看自己CUDA版本?_cuda version-CSDN博客https://blog.csdn.net/bruce_zhao1407/article/details/109580835

查看Pytorch版本:Windows下查看安装的PyTorch版本的两种方法_如何查看pytorch版本-CSDN博客https://blog.csdn.net/weixin_43401024/article/details/129650045

下载的whl文件放在yolov12的根目录下 

//这个whl文件是我下载的文件,需根据你下载的whl文件名进行更改

pip install flash_attn-2.5.9.post2+cu122torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl

四、开发环境中安装 Python 包的命令,用于开发和调试阶段

pip install -e

五、开始训练

下面展示 train.py 代码

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


if __name__ == '__main__':

    model = YOLO(r'D:\python\yolov12\datasets\yolov12.yaml')
    # 代表使用yolov12的神经网络结构
    # model.load(r'D:\python\yolov12\yolov12n.pt')
    # 代表使用yolov12n的预训练权重
    model.train(data=r'D:\python\yolov12\datasets\data.yaml', # 数据集yaml路径
                epochs=300, # 训练300轮
                batch=4, # 每一批样本的数量
                workers=0, # 同时32个线程
                project=r'D:\python\yolov12',
                name='yolov12n',
                )

 六、yolov12提供了使用 TensorRT-YOLO 在 NVIDIA 设备上加速 YOLOv12 推理


!!!需注意ultralytics >= 8.3.78!!!


1、下面提供从 .pt 格式转换为 ONNX 格式,准备进行后续的 TensorRT 优化

trtyolo export -w yolov12n.pt -v ultralytics -o ./ -b 1 -s

 2、将 ONNX 格式的 YOLOv12 模型(yolov12n.onnx)转换为 TensorRT Engine 格式

trtexec --onnx=yolov12n.onnx --saveEngine=yolov12n.engine 

3、或者不用1、2命令行进行修改,改用py文件代码进行转换格式

from ultralytics import YOLO
model = YOLO('yolov12{n/s/m/l/x}.pt')
model.export(format="engine", half=True)  # 或者 format="onnx"

4、正式TensorRT+YOLO进行推理代码

下面展示 detect_TensorRT.py 代码

import cv2
from tensorrt_yolo.infer import InferOption, DetectModel, generatelabels, visualize

def main():
    # 初始化
    option = InferOption()
    option.enableswaprb()  # 将BGR转换为RGB

    # 加载模型
    model = DetectModel(engine_path="yolo12n-with-plugin.engine", option=option)
  
    # 读取输入图像
    input_img = cv2.imread("testimage.jpg")
    if input_img is None:
        raise FileNotFoundError("加载测试图像失败。")

    # 推理过程
    detection_result = model.predict(input_img)
    print(f"==> 检测结果: {detection_result}")

    # 可视化结果
    class_labels = generate_labels(labelsfile="labels.txt")
    visualized_img = visualize(image=input_img, result=detection_result, labels=class_labels)
    cv2.imwrite("visimage.jpg", visualized_img)

    # 模型克隆示范
    cloned_model = model.clone()
    cloned_result = cloned_model.predict(input_img)
    print(f"==> 克隆模型结果: {cloned_result}")

if __name__ == "__main__":
    main()
 

疑难解惑

1、tensorrtyolo是什么

如果您希望获取最新的开发版本或者为项目做出贡献,可以按照以下步骤从 GitHub 克隆代码库并安装:请看md文件

通过pip安装 tensorrt_yolo 模块,您只需执行以下命令即可:

pip install -U tensorrt_yolo

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值