第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版本不一样,没有虚拟环境就等着哭吧。
具体步骤:
- 安装Anaconda或Miniconda(如果还没装的话)
- 创建虚拟环境
conda create -n yolov11_prune python=3.10 -y
conda activate yolov11_prune
- 安装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 环境搭建知识体系
我把这一章的核心逻辑画成了一张图,方便你对照检查:
这张图把整个流程串起来了。你按着顺序走,每一步做完检查一下,基本不会出问题。
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脚本 | 显示检测结果图片 |