适合小白的超详细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-优快云博客https://blog.youkuaiyun.com/bruce_zhao1407/article/details/109580835

查看Pytorch版本:Windows下查看安装的PyTorch版本的两种方法_如何查看pytorch版本-优快云博客https://blog.youkuaiyun.com/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

### YOLOv12 运行环境配置 目前官方尚未发布YOLOv12的具体版本以及详细的安装指南。然而,基于现有YOLO系列模型的安装经验[^1],可以推测YOLOv12环境配置流程将会遵循类似的模式。 #### Python与虚拟环境创建 为了保持项目的独立性和稳定性,推荐使用`virtualenv`或`conda`来创建一个新的Python虚拟环境。这一步骤能够有效隔离不同项目之间的依赖冲突。 ```bash # 使用 conda 创建并激活名为 yolov12 的新环境 conda create --name yolov12 python=3.9 conda activate yolov12 ``` #### PyTorch及其扩展包安装 考虑到YOLO算法对于GPU的支持需求较大,在安装PyTorch时应优先考虑带有CUDA支持的版本。具体命令如下: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` 此操作确保了后续训练过程中能充分利用NVIDIA GPU进行加速计算[^2]。 #### 获取YOLOv12源码 假设未来YOLOv12正式上线GitHub仓库,则可以通过克隆远程仓库的方式获得最新的代码库: ```bash git clone https://github.com/ultralytics/yolov12.git cd yolov12 ``` 如果采用其他方式分发软件包(例如通过Pypi),则可以直接利用`pip`工具完成安装工作: ```bash pip install ultralytics-yolov12 # 假设这是未来的包名 ``` #### 解决路径问题 在某些情况下,可能会遇到警告提示某些脚本所在的文件夹未加入系统的PATH变量中。此时可通过编辑用户的shell配置文件解决这个问题。以Linux系统为例: ```bash echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc source ~/.bashrc ``` 上述指令会自动将指定目录追加至当前用户的环境变量列表内,从而消除潜在错误提醒[^3]。 #### 验证安装成功与否 最后,建议编写简单的测试程序验证整个框架能否正常运作。比如加载预训练权重并对单张图片实施推理预测等基本功能测试。 ---
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值