2. 环境搭建:从零开始,把工具箱备齐
说实话,很多同学学 YOLO 卡住的地方不是算法本身,而是环境搭建。我见过太多人花了两三天装环境,最后心态崩了。其实没那么可怕,咱们一步步来。
这一章,我会带你装好 Anaconda、配好 CUDA 和 cuDNN、装 PyTorch,最后把 YOLO 的依赖库搞定。嗯,跟着我的节奏走,半小时内搞定。
2.1 Anaconda 安装:Python 环境管家
我个人习惯用 Anaconda 来管理 Python 环境。为什么?因为它能让你同时维护多个互不干扰的 Python 环境。你想想看,做 YOLOv5 用一个环境,做 YOLOv8 用另一个环境,互不打架,多省心。
安装步骤很简单:
- 去官网下载 Anaconda3 安装包(Windows 选 .exe,Linux 选 .sh)
- 一路默认安装,但记得勾选「Add Anaconda3 to my PATH environment variable」
- 装完后打开终端(cmd 或 PowerShell),输入
conda --version验证
# 验证安装
conda --version
# 输出示例:conda 23.7.4
# 创建 YOLO 专用环境(强烈建议)
conda create -n yolo_env python=3.9
conda activate yolo_env
which pip 或 where pip 确认路径在环境目录下。
2.2 CUDA 与 cuDNN:GPU 加速的钥匙
说白了,CUDA 是 NVIDIA 的并行计算平台,cuDNN 是专门为深度学习优化的加速库。没有它们,你的 YOLO 训练只能用 CPU 跑,那速度……嗯,你会怀疑人生的。
先确认你的显卡支持 CUDA:
- NVIDIA 显卡(GTX 900 系列及以上基本都行)
- 在终端输入
nvidia-smi查看驱动版本和最高支持的 CUDA 版本
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| NVIDIA 驱动 | ≥ 525.60.13 | 驱动版本决定 CUDA 上限 |
| CUDA Toolkit | 11.8 或 12.1 | PyTorch 官方推荐版本 |
| cuDNN | 8.9.7 对应 CUDA 版本 | 需注册 NVIDIA 开发者账号下载 |
安装步骤:
- 从 NVIDIA 官网下载 CUDA Toolkit 11.8(exe/local 安装包)
- 双击安装,选「自定义」→ 只勾选「CUDA」组件,别装驱动(避免覆盖)
- 下载 cuDNN 压缩包,解压后把 bin、include、lib 文件夹复制到 CUDA 安装目录
- 添加环境变量:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
# 验证 CUDA
nvcc --version
# 输出示例:Cuda compilation tools, release 11.8, V11.8.89
# 验证 cuDNN(在 CUDA 安装目录下)
.\bin\cudnn_version.exe
# 输出示例:cuDNN Version 8.9.7
2.3 PyTorch 安装:深度学习引擎
PyTorch 是 YOLO 的底层框架。装 PyTorch 其实就一行命令,但版本选错会出大问题。我记得有一次帮同事排查,他装了 CPU 版的 PyTorch,训练时 GPU 占用率一直是 0%……
去 PyTorch 官网(pytorch.org)选对应配置:
- PyTorch Build:Stable(稳定版)
- Your OS:Windows / Linux / macOS
- Package:Pip(推荐)
- Compute Platform:CUDA 11.8
# 激活环境后执行(以 CUDA 11.8 为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 验证 GPU 是否可用
python -c "import torch; print(torch.cuda.is_available())"
# 输出 True 表示成功
pip install torch torchvision torchaudio -f https://mirrors.aliyun.com/pytorch-wheels/cu118/
2.4 YOLO 依赖库安装:补齐最后一块拼图
YOLO 项目本身依赖一些常用库,比如 OpenCV、NumPy、Matplotlib、tqdm 等。你想想看,没有 OpenCV 怎么读图片?没有 tqdm 怎么看训练进度条?
我个人习惯用 requirements.txt 批量安装,省事:
# 创建 requirements.txt 文件,内容如下:
opencv-python==4.8.1.78
numpy==1.24.3
matplotlib==3.7.2
tqdm==4.66.1
pillow==10.0.1
pyyaml==6.0.1
seaborn==0.12.2
pandas==2.0.3
# 批量安装
pip install -r requirements.txt
或者直接用 YOLO 官方仓库的 requirements.txt:
# 克隆 YOLOv5 仓库(后续章节会细讲)
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt
pip install opencv-python==4.8.1.78 固定版本,别装最新版。
2.5 环境验证:确保一切就绪
装完别急着跑,先做个全面体检。我习惯写一个简单的测试脚本:
# test_env.py
import torch
import cv2
import numpy as np
print("PyTorch 版本:", torch.__version__)
print("CUDA 可用:", torch.cuda.is_available())
print("GPU 数量:", torch.cuda.device_count())
if torch.cuda.is_available():
print("GPU 名称:", torch.cuda.get_device_name(0))
print("OpenCV 版本:", cv2.__version__)
print("NumPy 版本:", np.__version__)
# 跑一个简单的张量运算测试
x = torch.randn(3, 3).cuda()
y = torch.randn(3, 3).cuda()
z = x @ y
print("GPU 计算测试通过:", z.shape)
运行 python test_env.py,如果所有输出都正常,恭喜你,环境搭建完成!
- conda 环境激活成功
- nvcc --version 显示 CUDA 11.8
- cuDNN 版本验证通过
- torch.cuda.is_available() 返回 True
- 所有依赖库版本匹配
嗯,到这里环境就全搭好了。你可能会问:「为什么我装 CUDA 12.1 不行?」其实也行,但 PyTorch 对 CUDA 12.1 的支持还在完善中,我建议你跟着主流走,少踩坑。