第2章:环境搭建——PyTorch与CUDA环境配置、YOLOv11源码下载与依赖安装、验证环境与运行Demo

环境搭建这事儿,说难不难,说简单也容易踩坑。我见过不少同学花了一整天装环境,最后卡在某个版本冲突上。嗯,咱们这一章就把这事捋清楚,一次搞定。

2.1 硬件与软件版本选型

动手之前,先确认你手头的硬件。我个人习惯把环境分成三档:

档次 GPU 显存 推荐CUDA 备注
入门 GTX 1060 / 1660 6GB 11.8 可跑小batch训练,剪枝后更流畅
主流 RTX 3060 / 4060 8-12GB 12.1 大部分实验都能跑
进阶 RTX 4090 / A100 24GB+ 12.4 剪枝前后对比实验随便跑

如果你用的是笔记本的RTX 3050,也别慌。我在项目里用3050跑过YOLOv11的剪枝实验,batch size调小一点就行。关键是CUDA版本要和PyTorch对上号。

⚠️ 我曾经踩过的坑: 千万别装最新的CUDA 12.5,PyTorch官方还没完全适配。老老实实选CUDA 11.8或12.1,稳得很。

2.2 PyTorch与CUDA环境配置

我推荐用conda创建虚拟环境,这样不会把系统Python搞乱。你想想看,万一你同时做几个项目,每个项目依赖的PyTorch版本不一样,没有虚拟环境就等着哭吧。

具体步骤:

  1. 安装Anaconda或Miniconda(如果还没装的话)
  2. 创建虚拟环境
conda create -n yolov11_prune python=3.10 -y
conda activate yolov11_prune
  1. 安装PyTorch(根据你的CUDA版本选命令)

去PyTorch官网(pytorch.org)找对应的安装命令。我写这篇文章时,稳定版是2.1.x。举个例子:

# CUDA 11.8
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# CUDA 12.1
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
💡 小技巧: 装完后跑一下 python -c "import torch; print(torch.cuda.is_available())",如果返回 True,说明CUDA环境没问题。我每次装完都会先跑这个,省得后面报错再回头排查。

2.3 YOLOv11源码下载与依赖安装

YOLOv11的官方源码在GitHub上,直接clone下来就行。我个人习惯把源码放在 ~/projects/ 目录下:

cd ~/projects
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics

然后安装依赖。这里要注意,YOLOv11的依赖清单里有些包版本比较敏感。我建议用 pip install -r requirements.txt 一次性装完:

pip install -r requirements.txt

如果网络慢,可以加个国内镜像:

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

装完之后,再装一个我们后面剪枝会用到的工具:

pip install thop  # 用来计算FLOPs和参数量
📌 核心依赖清单:
  • PyTorch >= 2.0.0
  • torchvision
  • opencv-python
  • matplotlib
  • numpy
  • tqdm
  • thop(剪枝评估用)

2.4 验证环境与运行Demo

环境装好了,咱们跑个Demo验证一下。YOLOv11官方提供了预训练权重,直接下载就能用。

先写个简单的Python脚本,验证整个链路:

import torch
from ultralytics import YOLO

# 检查CUDA
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA是否可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"GPU型号: {torch.cuda.get_device_name(0)}")

# 加载预训练模型(会自动下载)
model = YOLO('yolo11n.pt')

# 跑个推理Demo
results = model('https://ultralytics.com/images/bus.jpg')
results[0].show()  # 显示检测结果

如果一切顺利,你会看到一张公交车的图片,上面画着检测框。嗯,到这里环境就搭好了。

⚠️ 常见问题:
  • 报错 "No module named 'ultralytics'" → 没装成功,重新跑 pip install -r requirements.txt
  • 报错 "CUDA out of memory" → 显存不够,换小模型(yolo11n.pt)或者减小batch size
  • 下载权重超时 → 手动下载放到 ~/.cache/ultralytics/ 目录下

2.5 环境搭建知识体系

我把这一章的核心逻辑画成了一张图,方便你对照检查:

环境搭建核心流程 ① 硬件与CUDA检查 ② conda虚拟环境 ③ 安装PyTorch + CUDA ④ 下载YOLOv11源码 ⑤ 安装依赖 + thop ⑥ 运行Demo验证 💡 关键检查点 • CUDA版本与PyTorch匹配 • 虚拟环境隔离 • 依赖版本不冲突 ⚠️ 避坑指南 • 不要装最新CUDA • 国内用镜像源加速

这张图把整个流程串起来了。你按着顺序走,每一步做完检查一下,基本不会出问题。

2.6 环境验证清单

最后,我整理了一个检查清单。你跑完Demo后,逐项确认:

检查项 验证命令 预期结果
PyTorch版本 python -c "import torch; print(torch.__version__)" ≥ 2.0.0
CUDA可用 python -c "import torch; print(torch.cuda.is_available())" True
GPU型号 python -c "import torch; print(torch.cuda.get_device_name(0))" 你的GPU型号
YOLOv11加载 python -c "from ultralytics import YOLO; model = YOLO('yolo11n.pt')" 无报错
推理Demo 运行上面的Demo脚本 显示检测结果图片