第二章:环境搭建——Anaconda安装、CUDA与cuDNN配置、PyTorch安装、YOLO项目克隆与环境配置

说实话,很多同学学YOLO,第一关就卡在了环境搭建上。

我见过太多人,代码写好了,模型选好了,结果一跑就报错。什么CUDA版本不对、PyTorch和显卡驱动不匹配、依赖包冲突……折腾一整天,心态直接崩了。

这一章,我就带你一步步把环境搭好。你跟着我的节奏来,保证一次过。

2.1 Anaconda安装——Python环境的“管家”

为什么要用Anaconda?说白了,它就是帮你管理Python环境和包的。你想想看,做YOLO要用PyTorch,做别的项目可能要用TensorFlow,版本还不一样。如果没有Anaconda,你的电脑会乱成一锅粥。

我个人习惯,每个项目都建一个独立的虚拟环境。这样互不干扰,出问题了删掉重来就行,特别方便。

安装步骤

  1. 下载安装包:去Anaconda官网(https://www.anaconda.com/)下载对应系统的版本。我建议下载Python 3.9+的版本,太老的版本后面会有兼容问题。
  2. 安装过程:一路默认就行。但有一个关键点——记得勾选“Add Anaconda to my PATH environment variable”。嗯,这里要注意,如果不勾选,后面在命令行里用conda命令会找不到。
  3. 验证安装:打开终端(Windows用cmd或PowerShell,Mac/Linux用Terminal),输入:
conda --version

如果显示版本号,比如 conda 23.7.4,那就说明安装成功了。

小技巧:我个人习惯把Anaconda的源换成国内镜像,比如清华源。这样下载包会快很多。命令如下:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

2.2 CUDA与cuDNN配置——让显卡为你工作

YOLO训练靠的是GPU。没有CUDA,你的显卡就是个摆设。

CUDA是NVIDIA推出的并行计算平台。cuDNN是专门为深度学习优化的加速库。两者缺一不可。

我在项目中遇到过一个问题:CUDA版本装高了,但显卡驱动太老,结果PyTorch死活识别不了GPU。所以,版本匹配非常关键。

第一步:检查你的显卡驱动

打开终端,输入:

nvidia-smi

你会看到类似这样的输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
+-----------------------------------------------------------------------------+

注意看右上角的 CUDA Version。这个数字告诉你,你的驱动最高支持哪个CUDA版本。比如这里是12.0,那你装CUDA 11.8或12.1都没问题,但不能超过12.0。

避坑指南:我曾经因为没看驱动版本,直接装了CUDA 12.4,结果PyTorch报错说找不到CUDA。折腾了半天才发现是驱动太老。所以,先查驱动,再选CUDA版本

第二步:安装CUDA

  1. 去NVIDIA官网(https://developer.nvidia.com/cuda-toolkit-archive)下载对应版本的CUDA Toolkit。
  2. 我建议选 CUDA 11.8CUDA 12.1。这两个版本对PyTorch的兼容性最好。
  3. 安装时选择“自定义安装”,只勾选“CUDA”组件,其他如驱动、Visual Studio Integration可以不选。
  4. 安装完成后,打开终端验证:
nvcc --version

如果显示版本信息,说明CUDA安装成功。

第三步:配置cuDNN

cuDNN是NVIDIA的深度学习加速库。你需要去NVIDIA官网注册并下载(免费)。

  1. 下载对应CUDA版本的cuDNN压缩包。
  2. 解压后,把里面的 binincludelib 三个文件夹,复制到CUDA的安装目录下(Windows默认在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)。
  3. 添加环境变量:把 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin 加到系统的PATH里。
验证cuDNN是否生效:进入CUDA安装目录下的 extras\demo_suite,打开终端,运行 deviceQuery.exe。如果看到 PASS,说明一切正常。

2.3 PyTorch安装——深度学习框架的核心

PyTorch是YOLO的“发动机”。没有它,YOLO跑不起来。

安装PyTorch有个原则:版本要和CUDA匹配。你想想看,CUDA是11.8,你装个PyTorch 2.0(默认CUDA 12.1),那肯定报错。

安装命令

去PyTorch官网(https://pytorch.org/get-started/locally/),选择对应的配置:

  • PyTorch Build:Stable(稳定版)
  • Your OS:根据你的系统选
  • Package:Conda(推荐)或Pip
  • CUDA:选你安装的版本,比如11.8

然后复制生成的命令,在终端里运行。比如:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

如果你用pip,命令是:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证PyTorch是否识别GPU:打开Python交互环境,输入:
import torch
print(torch.__version__)
print(torch.cuda.is_available())  # 如果返回True,说明GPU可用

如果返回 True,恭喜你,环境搭好了!如果返回 False,别慌,检查一下CUDA版本是否匹配,或者驱动是否更新。

2.4 YOLO项目克隆与环境配置——让代码跑起来

环境搭好了,接下来就是把YOLO的代码拉下来。

我推荐用 YOLOv8,它是Ultralytics团队维护的,文档全、社区活跃、代码质量高。当然,YOLOv5、YOLOv7也都可以,但YOLOv8是目前最主流的。

克隆项目

打开终端,进入你想存放项目的目录,然后运行:

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

如果你没有安装Git,可以去官网下载安装,或者直接下载ZIP压缩包解压。

创建虚拟环境并安装依赖

我个人习惯,每个项目都建一个独立的虚拟环境。这样不会污染全局的Python环境。

conda create -n yolov8 python=3.9
conda activate yolov8
pip install -r requirements.txt

注意:requirements.txt 文件里包含了所有依赖包。如果安装过程中有包报错,可以手动安装:

pip install ultralytics
pip install opencv-python
pip install matplotlib
pip install tqdm
常见问题:如果你在Windows上安装 pycocotools 报错,可以试试:
pip install pycocotools-windows
这是Windows的专用版本。我在项目中遇到过这个问题,折腾了半小时才发现这个替代方案。

验证环境是否可用

运行一个简单的测试脚本:

from ultralytics import YOLO
model = YOLO('yolov8n.pt')  # 加载预训练模型
results = model('https://ultralytics.com/images/bus.jpg')  # 测试一张图片
results[0].show()  # 显示检测结果

如果能看到检测框,说明环境搭建成功!

2.5 总结与避坑指南

环境搭建这一步,说白了就是“版本匹配”四个字。显卡驱动、CUDA、cuDNN、PyTorch,这四个东西的版本必须对齐。任何一个不匹配,都会导致GPU无法使用。

我整理了一个版本对照表,方便你参考:

PyTorch版本 CUDA版本 cuDNN版本 推荐显卡驱动
1.13.x 11.6 / 11.7 8.5.0 ≥ 510.39
2.0.x 11.7 / 11.8 8.7.0 ≥ 525.60
2.1.x 11.8 / 12.1 8.9.0 ≥ 530.30
2.2.x 11.8 / 12.1 8.9.4 ≥ 535.54
我的建议:如果你是新手上路,直接选 PyTorch 2.0 + CUDA 11.8 + cuDNN 8.7 这个组合。我测试过,兼容性最好,踩坑最少。

好了,环境搭建就到这里。下一章,我们会正式开始YOLO的数据准备和训练。到时候你会发现,环境搭好了,后面的路就顺了。

专注资料整理