2. 深度学习环境搭建

说实话,环境搭建是很多初学者第一个卡住的地方。我见过不少同学,代码写得挺好,结果卡在装环境上,一折腾就是半天。其实这事没那么玄乎,咱们一步步来。

深度学习环境说白了就三层:Python环境管理 → GPU驱动层 → 深度学习框架。下面我按这个顺序带你走一遍。

核心思路:用 Anaconda 管理 Python 环境,用 CUDA + cuDNN 驱动 GPU,最后装 PyTorch 让代码能调用显卡。这三层各司其职,缺一不可。

2.1 Anaconda 安装:Python 环境的「瑞士军刀」

我个人习惯用 Anaconda 来管理 Python 环境。为什么?因为它能让你在一台机器上同时维护多个互不干扰的 Python 版本和包集合。你想想看,做 YOLOv5 可能需要 Python 3.8,做别的项目可能要用 3.10,如果没有环境隔离,早晚会出冲突。

安装步骤:

  1. 去 Anaconda 官网下载对应系统的安装包(Windows/Linux/macOS)
  2. 双击安装,一路默认即可。但有一个选项要注意——「Add Anaconda to my PATH environment variable」,我建议勾上,省得后面还要手动配环境变量
  3. 安装完成后,打开终端(Windows 用 Anaconda Prompt),输入 conda --version 验证

小技巧:安装完后建议先换国内镜像源,不然下载包能急死人。执行 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 和 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/,速度会快很多。

装好之后,我习惯创建一个独立的虚拟环境给 YOLOv5 用:

conda create -n yolov5 python=3.8
conda activate yolov5

这样后面不管怎么折腾,都不会影响到系统自带的 Python。

2.2 CUDA 与 cuDNN 配置:让 GPU 听懂你的话

CUDA 是什么?说白了,它是 NVIDIA 推出的并行计算平台。你的 PyTorch 代码要想在 GPU 上跑,必须通过 CUDA 这个「翻译官」来跟显卡硬件沟通。

CUDA 安装要点:

  • 先确认你的显卡型号:NVIDIA 控制面板 → 系统信息 → 组件,或者终端执行 nvidia-smi
  • 去 NVIDIA 官网下载对应版本的 CUDA Toolkit。我建议选 CUDA 11.8,这个版本对 PyTorch 的兼容性最好,我在项目中用过很多次,没出过问题
  • 安装时选择「自定义安装」,只勾选 CUDA 组件,别装 NVIDIA GeForce Experience 那些没用的

我曾经踩过的坑:CUDA 版本和显卡驱动版本必须匹配。如果驱动太老,装新 CUDA 会报错。解决办法是先升级驱动到最新版,再装 CUDA。执行 nvidia-smi 看右上角的「CUDA Version」,那个数字表示你的驱动最高支持到什么版本的 CUDA。

cuDNN 配置:

cuDNN 是 CUDA 的深度神经网络加速库。安装其实很简单:

  1. 去 NVIDIA 官网注册下载 cuDNN(需要注册账号,免费的)
  2. 选择与 CUDA 11.8 匹配的 cuDNN 版本
  3. 解压后,把 bin、include、lib 三个文件夹里的文件复制到 CUDA 安装目录对应的文件夹中

验证是否装好:

# 查看 CUDA 版本
nvcc --version

# 查看 cuDNN 版本(Windows)
type "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include\cudnn_version.h" | findstr CUDNN_MAJOR

2.3 PyTorch 框架安装:核心一步

PyTorch 的安装命令,我建议去 PyTorch 官网 用它的配置工具生成。选好你的系统、包管理器(pip/conda)、CUDA 版本,它会给你一条命令。

以 CUDA 11.8 为例:

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

注意:千万别用 pip install torch 不加参数,那样会装 CPU 版本。你想想看,花了大价钱买的显卡,结果装了个 CPU 版,多冤啊。

安装完成后,验证一下:

python -c "import torch; print(torch.__version__)"

如果输出版本号,说明装好了。

2.4 验证 GPU 是否可用:最后一道关

这一步最关键。很多同学装完以为万事大吉,结果一跑代码发现还是在用 CPU。咱们写个简单脚本验证:

import torch

print("PyTorch 版本:", torch.__version__)
print("CUDA 是否可用:", torch.cuda.is_available())
print("GPU 数量:", torch.cuda.device_count())
print("当前 GPU 名称:", torch.cuda.get_device_name(0) if torch.cuda.is_available() else "无 GPU")

# 跑个小测试
if torch.cuda.is_available():
    x = torch.rand(3, 3).cuda()
    print("GPU 计算测试通过,张量在:", x.device)
else:
    print("GPU 不可用,请检查 CUDA 安装")

如果输出 CUDA 是否可用: True,并且能看到你的显卡型号,那就恭喜你,环境搭好了。

常见问题排查:

  • 如果 torch.cuda.is_available() 返回 False,先检查 CUDA 版本和 PyTorch 版本是否匹配
  • 再检查环境变量:CUDA_PATH 和 PATH 里有没有 CUDA 的路径
  • 最后重启一下电脑,有时候驱动加载需要重启

2.5 整体流程一览

下面这张图把整个环境搭建的流程串起来了,你可以对照着检查自己走到哪一步了:

深度学习环境搭建流程 ① Anaconda 安装 ② 创建虚拟环境 (conda create) ③ CUDA Toolkit + cuDNN 配置 ④ 安装 PyTorch (GPU 版) ⑤ 验证 GPU 是否可用 关键检查点 1. conda --version 2. nvidia-smi 3. nvcc --version 4. cuDNN 版本 5. torch.__version__ 6. torch.cuda.is_ available() 常见问题: • 版本不匹配 • 环境变量缺失 • 驱动太老 • 装了 CPU 版 PyTorch

2.6 版本兼容性速查表

版本匹配是环境搭建里最容易出问题的地方。我整理了一张表,你照着选就行:

PyTorch 版本 CUDA 版本 cuDNN 版本 推荐场景
1.13.x 11.6 / 11.7 8.4.x 老项目兼容
2.0.x 11.8 8.6.x YOLOv5 推荐
2.1.x 12.1 8.9.x 新显卡(40系)

我的建议:如果你用的是 30 系或更早的显卡,直接选 PyTorch 2.0 + CUDA 11.8 这个组合,我在多个项目里验证过,稳得很。40 系显卡可以考虑 CUDA 12.1,但要注意 PyTorch 版本也得跟上。