YOLOv12 环境配置,手把手教你使用 YOLOv12 训练自己的数据集和推理 (附 YOLOv12 网络结构图),全文最详细教程

一、YOLOv12介绍

file

二、YOLO环境配置教程

1、创建虚拟环境

conda create -n yolov12 python=3.11

# 如果存在,删掉已建的虚拟环境
# conda remove -n yolov12 --all

# 或者手动删除
# rm -rf /home/leoking/miniconda3/envs/yolov12

# conda create -n yolov12 python=3.11

# 切换目录
mkdir yolo-test
/home/leoking/app/yolo-test

# 激活环境
conda activate yolov12

# 退出环境
conda deactivate

2、查看限制支持的cuda版本

nvidia-smi

(yolov12) leoking@leoking-desktop:~/app/yolo-test$ nvidia-smi
Sat May 10 15:02:51 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.05              Driver Version: 560.35.05      CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA L20                     Off |   00000000:A8:00.0 Off |                    0 |
| N/A   49C    P8             30W /  350W |       4MiB /  46068MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
(yolov12) leoking@leoking-desktop:~/app/yolo-test$

可以看到我的服务器最高支持 cuda 版本是12.6,所以可以安装向下版本的 cuda, 那么知道这个有什么用,当然有用,可以看到 pytorch 官网安装命令都带有 cuda 的版本号。

file

假设你的电脑都不支持这么高的cuda版本,你装了 pytorch 那么你就用不了 GPU 了。如果你电脑支持 cuda 太低,你可以更新英伟达驱动,安装非常简单,直接在英伟达官网下载驱动安装即可。

3、pytorch 安装

官网安装的 pytorch 是 2.2.2 的版本:
file

电脑有英伟达显卡就安装带 cuda 的pytorch,电脑没有显卡则安装 cpu 的pytorch,去pytorch 官网找合适版本复制命令安装即可。官网地址:https://pytorch.org/get-started/previous-versions/ ,复制命令的时候 -c 后面不用复制;

file

# CUDA 11.8
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 12.1
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 cpuonly -c pytorch

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 --index-url=https://mirrors.aliyun.com/pypi/simple/

安装 cuda 11.8:

# CUDA 11.8
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia

如果通过命令安装不了,则需要手动下载相关的包,然后上传安装;

4、验证 Pytorch GPU 是否可用

安装完成后,测试 GPU 是否可用,如果输出为 True 则表示 GPU 可以使用,要是输出 False 代表不可以使用GPU 加速,输出 False 也是可以使用的,一般 CPU 训练会很慢,慢到你怀疑人生那种,不过用来推理还是可以的。要是没有显卡租一个服务器训练模型就行,如果这个反响比较大,我也会出一期在服务器怎么训练的教程。

复制下面命令到终端即可:

# 在终端输入 python
python

# 验证---
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.device_count())

file

5、下载模型

输入下列命令下载 yolov12 模型同时进入项目中

cd 
/home/leoking/app/yolo-test/
git clone https://github.com/sunsmarterjie/yolov12.git

下载模型依赖包

cd yolov12
pip install -r requirements.txt

出现报错,重新使用命令下载包同时换源加速:

wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

切换为清华镜像源:

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

继续下载其他依赖包

pip install -e .

file

报错信息:

(base) leoking@leoking-desktop:~/app/yolo-test/yolov12$ pip install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
ERROR: flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl is not a supported wheel on this platform.

执行报错:

conda activate yolov12
cd yolov12
python app.py

报错信息:

(base) leoking@leoking-desktop:~/app/yolo-test/yolov12$ conda activate yolov12
(yolov12) leoking@leoking-desktop:~/app/yolo-test/yolov12$ python app.py
Traceback (most recent call last):
  File "/home/leoking/app/yolo-test/yolov12/app.py", line 6, in <module>
    import gradio as gr
ModuleNotFoundError: No module named 'gradio'
(yolov12) leoking@leoking-desktop:~/app/yolo-test/yolov12$

安装依赖:

# pip install gradio
conda install -c conda-forge gradio
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install thop -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install psutil -i https://pypi.tuna.tsinghua.edu.cn/simple

切换 numpy 版本:

pip uninstall numpy
pip install "numpy<2.0"

或者:
#pip install numpy==1.26.4

然后重启运行环境:

conda deactivate
conda activate yolov12

cd /home/leoking/app/yolo-test/yolov12
python app.py

# 配置环境
# /home/leoking/miniconda3/envs/yolov12/

安装JupyterLab

# 推荐使用 conda-forge 通道,确保获取的是最新且兼容性最好的版本。
conda install -c conda-forge jupyterlab

好的,我们来一步一步配置你的 JupyterLab,使其能 指定数据目录启用 token 登录,并可用于 远程访问(如通过公网/内网 IP)


✅ 1. 生成默认配置文件

首先生成配置文件(如果还没有):

jupyter lab --generate-config

默认会生成文件:

~/.jupyter/jupyter_lab_config.py

✅ 2. 设置默认工作目录(数据存储路径)

假设你希望 JupyterLab 启动后默认进入 /home/leoking/app/data/cvtest 目录:

编辑配置文件:

#nano ~/.jupyter/jupyter_lab_config.py
vim ~/.jupyter/jupyter_lab_config.py

找到(或添加)以下一行,取消注释并设置路径:

c.ServerApp.root_dir = '/home/leoking/app/data/cvtest'

注意:JupyterLab 3.x 以后用的是 ServerApp,早期版本是 NotebookApp,建议用 ServerApp


✅ 3. 启用 token 登录(默认就是启用)

确认以下内容:

# 自定义token:LK888
c.ServerApp.token = 'your_custom_token_here'

如果你希望每次随机生成,可以设置为:

c.ServerApp.token = ''

✅ 4. 开放远程访问(默认只监听 localhost)

你需要让 Jupyter 可以通过其他 IP 访问:

c.ServerApp.ip = '0.0.0.0'  # 或你的具体内网 IP,比如 '192.168.1.100'
c.ServerApp.port = 8888     # 默认端口,也可以改为其它
c.ServerApp.open_browser = False


✅ 6. 启动 JupyterLab

激活环境后启动:

#jupyter lab
nohup jupyter lab --config=~/.jupyter/jupyter_lab_config.py > jupyterlab.log 2>&1 &

# 查看进程

如果你配置了 c.ServerApp.ip = '0.0.0.0',你可以通过远程浏览器访问:

http://192.168.50.22:8888/lab

file

查看 cuda 配置

Yolo12测试


!pip install ultralytics

from ultralytics import YOLO

# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
# results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLO12n model on the 'bus.jpg' image
# results = model("path/to/bus.jpg")
results = model("./datasets/sz_road_short.mp4", save=True,show=True, visualize=True, device='cuda:0')

---

from ultralytics import YOLO

# 目标跟踪 Track
model = YOLO("yolo12n.pt")

# Perform tracking with the model
results = model.track("/content/sz_road_short.mp4", show=True, save=True)  # Tracking with default tracker

file

查看GPU是否可用

import torch
print("CUDA available:", torch.cuda.is_available())
print("CUDA device count:", torch.cuda.device_count())
print("CUDA device name:", torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No CUDA")

--
输出:
CUDA available: True
CUDA device count: 1
CUDA device name: NVIDIA L20

查看在推理的时候是否有应用GPU:

#方法 1:手动打印当前模型设备
print("Model will run on device:", model.device)
Model will run on device: cuda:0

# 方法 2:使用 torch 显式检查张量运行在哪个设备上
# 在推理后加:
print("Result tensor device:", results[0].boxes.data.device)
Result tensor device: cuda:0

相关文章:
YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程
YOLOv12论文模型解析 | 手把手带你零基础看懂yolov12的网络结构(附手绘超详细网络结构图)
YOLOv12部署教程 —42%速度提升,让高效目标检测触手可及

为者常成,行者常至