2、环境配置与工具链:Anaconda安装、PyTorch框架安装、CUDA与cuDNN配置、Jupyter Notebook使用

说实话,环境配置这件事,看着简单,但坑是真不少。我带过不少新人,十有八九第一周都在跟各种报错死磕。我自己也翻过车——有一次配CUDA版本没对齐,折腾了两天才发现是驱动没更新。所以这一章,我尽量把那些容易踩的坑都给你指出来。

2.1 Anaconda安装:你的Python环境管家

为什么要用Anaconda?说白了,就是帮你管理Python版本和第三方库。你想想看,一个项目用PyTorch 1.10,另一个用2.0,版本冲突怎么办?Anaconda的虚拟环境就是干这个的。

安装步骤:

  1. 去官网下载对应系统的安装包(Windows/Linux/macOS)
  2. 双击安装,一路默认就行。但有个关键点——记得勾选「Add Anaconda to my PATH environment variable」。我见过有人没勾,后面命令行死活找不到conda命令,又得重装。
  3. 安装完成后,打开终端(Windows用Anaconda Prompt),输入 conda --version 验证。
小技巧:我个人习惯装Miniconda而不是完整版Anaconda。Miniconda更轻量,只带Python和conda,其他包按需安装。省空间,也清爽。

2.2 创建虚拟环境:隔离的艺术

环境隔离是深度学习的必修课。我建议每个项目都建一个独立环境,别图省事全装base里。

# 创建一个名为dl_env的环境,Python版本3.9
conda create -n dl_env python=3.9

# 激活环境
conda activate dl_env

# 退出环境
conda deactivate

# 查看所有环境
conda env list

嗯,这里要注意:环境名别用中文,也别带空格。我见过有人用「深度学习环境」做名字,结果后面路径解析报错,折腾半天。

2.3 PyTorch框架安装:选对版本是关键

PyTorch安装其实就一行命令,但版本选择有讲究。你得先搞清楚自己的CUDA版本。

查看CUDA版本:

# Windows
nvidia-smi

# Linux
nvidia-smi

# 或者
nvcc --version

看到输出里的CUDA Version了吗?比如显示11.8,那你就装对应版本的PyTorch。

安装命令(以CUDA 11.8为例):

# 官方推荐方式
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 或者用conda(但速度慢,不推荐)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
避坑指南:我曾经直接 pip install torch,结果装了个CPU版本。跑模型时发现GPU占用为0,查了半天才发现问题。所以一定要指定 --index-url 参数,或者去PyTorch官网用版本选择器生成命令。

验证安装:

import torch
print(torch.__version__)        # 查看版本
print(torch.cuda.is_available()) # 检查CUDA是否可用
print(torch.cuda.device_count()) # GPU数量
print(torch.cuda.get_device_name(0)) # GPU型号

如果 torch.cuda.is_available() 返回 True,恭喜你,环境配好了。

2.4 CUDA与cuDNN配置:深度学习的加速引擎

CUDA是NVIDIA的并行计算平台,cuDNN是专门为深度学习优化的加速库。说白了,没有它们,你的GPU就是个摆设。

CUDA安装要点:

  • 去NVIDIA官网下载对应版本的CUDA Toolkit
  • 安装时选择「自定义安装」,只勾选CUDA组件,别装Driver(除非你的驱动太旧)
  • 安装完成后,配置环境变量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin

cuDNN配置:

cuDNN其实是个压缩包,解压后把里面的文件复制到CUDA安装目录就行。

# 假设CUDA安装在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
# 把cuDNN解压后的bin、include、lib文件夹内容分别复制到对应目录
重要:CUDA版本、cuDNN版本、PyTorch版本三者必须匹配。我整理了一个常用对照表:
PyTorch版本 CUDA版本 cuDNN版本
2.0.0 11.7 / 11.8 8.5 / 8.6
1.13.0 11.6 / 11.7 8.4 / 8.5
1.10.0 10.2 / 11.3 8.2

你想想看,如果CUDA是11.8,但PyTorch编译时用的是11.7的接口,那肯定报错。所以装之前一定查清楚。

2.5 Jupyter Notebook使用:交互式开发的利器

Jupyter Notebook特别适合做实验和调试。你可以一段一段地跑代码,随时看中间结果,比写脚本方便多了。

安装与启动:

# 在虚拟环境中安装
conda activate dl_env
pip install jupyter notebook

# 启动
jupyter notebook

启动后浏览器会自动打开,默认端口8888。你会看到一个文件列表,点「New」→「Python 3」就能新建一个Notebook。

常用快捷键:

  • Shift + Enter:运行当前单元格并跳到下一个
  • Ctrl + Enter:运行当前单元格
  • Esc + A:在当前单元格上方插入新单元格
  • Esc + B:在当前单元格下方插入新单元格
  • Esc + M:切换为Markdown模式(写说明文字用)
个人经验:我习惯在Notebook开头先跑一遍环境检查代码,确认GPU可用、PyTorch版本正确。这样后面出问题能快速定位是环境问题还是代码问题。

配置内核与虚拟环境关联:

默认情况下,Jupyter用的是base环境的Python。要让它在你的 dl_env 环境下运行,需要装一个包:

# 在dl_env中安装ipykernel
conda activate dl_env
pip install ipykernel

# 将当前环境注册到Jupyter
python -m ipykernel install --user --name dl_env --display-name "PyTorch DL"

重启Jupyter后,新建Notebook时就能选择「PyTorch DL」这个内核了。

2.6 常见问题与排错

环境配置这块,我踩过的坑能写满一页纸。挑几个最常见的说说:

  • 「CUDA error: no kernel image is available」——多半是PyTorch和CUDA版本不匹配。重新装对应版本的PyTorch。
  • 「ImportError: DLL load failed」——Windows上常见,一般是cuDNN没复制对位置。检查一下bin目录下有没有 cudnn64_8.dll 这类文件。
  • Jupyter无法连接内核——试试 pip install --upgrade jupyter_client,或者重启Jupyter。

嗯,环境配置确实烦人,但一次配好,后面能省很多事。我建议你把安装步骤和版本号记下来,下次换机器直接照着来,省得再查一遍。

好了,这一章就到这儿。下一章我们开始动手写第一个图像分类模型,到时候这些环境就派上用场了。