Windows 搭建《动手学深度学习》PyTorch 环境:从安装到踩坑记录

本文记录我在 Windows 上配置《动手学深度学习》(D2L)PyTorch 版的完整过程。

环境:Windows + Miniconda + Python 3.9 + NVIDIA RTX 4060 Laptop。

目标:能顺利运行 d2l-zh 的 Jupyter Notebook,并支持 GPU 加速。


一、最终环境概览

我的实际环境如下:

项目 版本 / 信息
操作系统 Windows
Conda 26.7.1
Python 3.9.25
GPU NVIDIA GeForce RTX 4060 Laptop,8GB 显存
驱动 610.88,CUDA UMD 13.3
深度学习框架 PyTorch GPU 版
配套包 d2l==0.17.6、Jupyter Notebook

这套环境可以运行《动手学深度学习》PyTorch 版的大部分章节,RTX 4060 Laptop 的 8GB 显存也足够学习使用。


二、安装 Miniconda

Miniconda 是 Anaconda 的轻量版,只包含 conda 和 Python,适合按需安装库。

1. 下载安装包

访问 Miniconda 官方下载页,选择 Windows 64-bit Graphical Installer ,下载 .exe 文件。也可以直接使用:

text 复制代码
https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe

2. 安装选项

双击安装,建议选择:

  • Just Me (recommended)
  • 安装路径不要有中文和空格
  • 勾选 Add Miniconda3 to my PATH environment variable

安装完成后,从开始菜单打开 Anaconda Prompt。

3. 验证

bash 复制代码
conda --version

如果能看到版本号,说明安装成功。


三、创建 d2l 虚拟环境

不要直接在 base 环境中安装深度学习库,建议创建独立环境:

bash 复制代码
conda create --name d2l python=3.9 -y

创建完成后激活:

bash 复制代码
conda activate d2l

激活后,命令行提示符前会出现 (d2l)。验证 Python 版本:

bash 复制代码
python -V

我的输出是:

text 复制代码
Python 3.9.25

遇到 Conda ToS 报错

新版 Conda 可能会要求先接受 Anaconda 的服务条款,否则创建环境时会报:

text 复制代码
CondaToSNonInteractiveError: Terms of Service have not been accepted...

解决方法是依次执行:

bash 复制代码
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2

注意:conda tos status 并不是有效子命令,会报错。接受完三条后,直接继续创建环境即可。

提醒:如果代表员工数超过 200 人的营利性组织使用 Anaconda,需要购买商业订阅。个人学习通常可以免费使用。


四、检查 GPU

在安装 PyTorch 前,先确认显卡和驱动:

bash 复制代码
nvidia-smi

我的输出关键信息:

text 复制代码
NVIDIA GeForce RTX 4060 Laptop
Driver Version: 610.88
CUDA UMD Version: 13.3
Memory: 8188MiB

这说明:

  • 有 NVIDIA GPU,可以安装 GPU 版 PyTorch;
  • 驱动支持 CUDA 13.3,向下兼容 CUDA 12.x;
  • 推荐安装 CUDA 12.6 或 12.8 对应的 PyTorch wheel。

如果没有 NVIDIA GPU,安装 CPU 版即可,前几章学习完全够用。


五、安装 PyTorch、d2l 和 Jupyter

确保当前处于 (d2l) 环境。

1. 安装 PyTorch GPU 版

推荐去 PyTorch 官网 选择:

  • Stable
  • Windows
  • Pip
  • Python
  • CUDA 12.6 或 12.8

官网会生成安装命令。例如:

bash 复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

如果 cu126 下载失败,可以尝试:

bash 复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

CPU 版则使用:

bash 复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

2. 安装 d2l 包

必须安装指定版本:

bash 复制代码
pip install d2l==0.17.6

如果下载慢,可以使用清华镜像:

bash 复制代码
pip install d2l==0.17.6 -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 安装 Jupyter

bash 复制代码
pip install jupyter

4. 验证 PyTorch 和 GPU

运行:

bash 复制代码
python -c "import torch; print('torch:', torch.__version__); print('cuda_available:', torch.cuda.is_available()); print('device:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"

预期输出类似:

text 复制代码
torch: 2.x.x+cu126
cuda_available: True
device: NVIDIA GeForce RTX 4060 Laptop GPU

如果 cuda_available 是 False,说明可能装成了 CPU 版,需要卸载重装:

bash 复制代码
pip uninstall torch torchvision torchaudio -y
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

六、下载 D2L Notebook

浏览器访问:

text 复制代码
https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip

下载后解压到任意目录,例如:

text 复制代码
D:\d2l-zh

解压后进入 pytorch 子目录:

bash 复制代码
cd /d D:\d2l-zh\pytorch

启动 Jupyter Notebook:

bash 复制代码
jupyter notebook

浏览器通常会自动打开:

text 复制代码
http://localhost:8888

然后就可以打开每一章的 .ipynb 文件开始学习了。


七、踩坑记录

坑 1:Conda ToS 未接受

报错:

text 复制代码
CondaToSNonInteractiveError: Terms of Service have not been accepted...

解决:

依次执行三条 conda tos accept 命令,具体见上文第三节。


坑 2:Jupyter Notebook 启动失败

报错:

text 复制代码
ModuleNotFoundError: No module named 'jupyter_server.contents'
TypeError: warn() missing 1 required keyword-only argument: 'stacklevel'

原因:

traitlets 与 notebook 版本不兼容。新版 traitlets 修改了 warn() 的参数要求,而旧版 notebook 没有同步更新。

解决方案一:升级 notebook(推荐)

bash 复制代码
pip install --upgrade notebook

或明确安装 7.x:

bash 复制代码
pip install notebook==7.*

如果仍提示缺少 jupyter_server,可以补装:

bash 复制代码
pip install jupyter_server

解决方案二:降级 traitlets

bash 复制代码
pip uninstall traitlets -y
pip install traitlets==5.9.0

修复后重新进入代码目录并启动:

bash 复制代码
cd /d D:\A_DLL\pytorch
jupyter notebook

八、日常使用命令

每次开始学习前:

bash 复制代码
conda activate d2l
cd /d D:\A_DLL\pytorch
jupyter notebook

结束学习后:

  • 在命令行按 Ctrl+C 停止 Jupyter;
  • 执行 conda deactivate 退出环境。

所有安装和运行操作都应在 (d2l) 环境下进行,不要装在 (base) 中。


九、常见问题速查

问题 解决办法
conda 不是内部命令 安装时勾选 Add to PATH,或手动添加 miniconda3\Scripts
Conda ToS 报错 执行三条 conda tos accept 命令
conda tos status 报错 该子命令不存在,忽略即可
pip install d2l 报错 先装 PyTorch,再装 d2l
Jupyter 找不到 .ipynb 启动前先 cd 到 pytorch 子目录
GPU 版但 cuda_available=False 卸载重装 GPU 版 PyTorch,检查 CUDA 版本
Jupyter 启动报 traitlets 错误 升级 notebook 或降级 traitlets==5.9.0

十、总结

在 Windows 上搭建 D2L PyTorch 环境,关键步骤是:

  1. 安装 Miniconda;
  2. 创建独立的 d2l 环境;
  3. 接受 Conda ToS;
  4. 根据 GPU 驱动选择正确的 PyTorch CUDA 版本;
  5. 安装 d2l==0.17.6 和 Jupyter;
  6. 下载 D2L Notebook 并启动;
  7. 遇到 Jupyter 兼容问题时,升级 notebook 或降级 traitlets。

整体流程并不复杂,主要坑集中在 Conda 新版 ToS 和 Jupyter 依赖兼容性上。解决之后,就可以在浏览器中流畅运行《动手学深度学习》的 PyTorch 代码了。

相关推荐
fogota1 小时前
C# `string.Join` 处理 `List<int>`
windows·c#
X54先生(人文科技)3 小时前
《元创力》纪实录 · 卷宗 3.6《不退场的人——Yuri尤栗外滩大会AI音乐会的碳硅协同推演全记录》
人工智能·深度学习·ai写作·开源协议
阳明山水3 小时前
因果一致性正则化实战解析
人工智能·深度学习·算法·机器学习·架构
Python图像识别3 小时前
18-【2027毕设】YOLO11烟雾检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·深度学习·yolo·毕业设计·毕设
weixin_457760003 小时前
基于 YOLO11m-Pose 的动物姿态估计系统:从 Animal-Pose 标注到 Python 桌面部署
人工智能·python·深度学习
u0111026754 小时前
Blob URL 与 Base64 怎么选?图片预览中的内存和性能差异
人工智能·深度学习·ai作画
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-09-24
人工智能·深度学习·神经网络·搜索引擎·百度
Python图像识别5 小时前
17-【2027毕设】YOLO11水稻病害检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·深度学习·yolo·毕业设计·毕设
江润舟6 小时前
万物|炼器 从零手搓工业级旋转目标检测网络 · 卷3 —— 核心算子锻造(三)
人工智能·深度学习