这个课最大的特点是会讲代码。
李沐老师讲,只是在听课那当然是很快乐的,但是需要往上走,需要实操跑代码,后面会有课程竞赛需要认真去做,再进一步可以去和其他人讲你的见解。
1、安装
这个课只会讲在本地安装,再过几个星期才会使用GPU,现在只使用CPU安装。代码如下:
# [可选]1. 创建并激活 Conda 环境
conda env remove -n d2l-zh
conda create -n d2l-zh -y python=3.8 pip
conda activate d2l-zh
# 2. 安装依赖 d2l里面包含了一些封装好的函数。需要基于torch,所以得安装torch和torchvision
pip install -y jupyter d2l torch torchvision
# 3. 下载并解压课程代码 .zip文件里面包含了所有的记事本
wget https://zh-v2.d2l.ai/d2l-zh.zip
unzip d2l-zh.zip
# 4. 启动 Jupyter Notebook
jupyter notebook
2、安装的详细解释如下:
先启动服务器
1.运行 sudo apt update 查看可以安装的包
2.运行 sudo apt install build-essential 安装编译部件
3.运行 sudo apt install python3.8 安装python3.8
作者运行的是上面这个代码(sudo apt install python3.8),而我的机器上运行成功的是(sudo apt install python3)
作者李沐的:
我的:
即我的机器是Ubuntu24.04,已经自带 Python 3.12.3,所以再装 python3.8 或 python-3.8 都会提示“找不到包”。
4.运行 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
Installing Miniconda - Anaconda
5.运行 bash Miniconda3-latest-Linux-x86_64.sh

这里的作用是:用 bash 解释器,直接运行刚刚下载的 Miniconda 安装脚本,开始安装 Miniconda3
这里需要把几个容易混的概念一次捋清:
1)Linux kernel(内核): 真正控制 CPU、内存、硬盘等硬件 汽车的发动机
2)Terminal(终端/终端模拟器) 只是一个黑框窗口,负责把你敲的字符送给内核、把内核的输出显示出来 汽车的仪表盘+方向盘
3)Shell(命令解释器) 真正理解你敲的命令并调用内核去执行的“翻译官” 驾驶员
4)bash Shell 的一种最流行的实现;大多数 Linux 发行版默认用它 一位会英语的驾驶员
6.在base环境下:运行 pip install jupyter d2l torch torchvision
这里torch是把CPU和GPU版本混在一起了,所以特别大,国内可能需要选一个国内的源。
国内下的确实挺慢的,我这边只有大概150kB/s,并且安装的时候遇到了如下问题:
正在用「Python 3.13(刚发布)」去安装一个 只声明兼容到 Python 3.10/3.11 的旧版 numpy 1.23.5 ,导致构建失败
具体原因:
1. Conda 默认给你装的是「最新 Python 3.13」。
2. d2l 指定了 numpy==1.23.5 ,而 1.23.5:
发布时 Python 3.13 还不存在,
源码里用到了 已弃用的 pkgutil.ImpImporter ,Python 3.12+ 已彻底移除,于是编译报错。
我的解决方法:
conda deactivate
conda create -n d2l python=3.11 -y
conda activate d2l
#在(d2l)环境里:
pip install jupyter d2l torch torchvision
这里在安装的时候按了一下F1,速度突然变快了!
但是大模型告诉我:
于是重新看了一下下载速度:
果然现在的大模型还是太强大了。
后来我发现,其实开了魔法之后,下载速度就是不确定的,如上。
7.来到课程书籍网址《动手学深度学习》 — 动手学深度学习 2.0.0 documentation 复制“Jupyter记事本文件”的地址(复制得到的URL是这个:https://zh-v2.d2l.ai/d2l-zh.zip)
然后运行:wget https://zh-v2.d2l.ai/d2l-zh.zip
8.下载一个zip:sudo apt install zip
然后就可以解压文件了:
ls
unzip d2l-zh.zip
解压出来可以看到有三个文件夹:mxnet版本、pytorch版本、tensorflow版本
不过直播采用的是把记事本的文字给删掉然后做成的幻灯片的版本
可以点击课程网页课程安排 - 动手学深度学习课程右边的jupyter图标,然后可以进入幻灯片,可以左右切换,还是非常方便的。
也可以直接在Github上下载:
9.运行 git clone https://github.com/d2l-ai/d2l-zh-pytorch-slides
李沐老师这里运行了jupyter notebook,但是下面的链接是不可以点击直达的,因为下面的link都是在远端机器上的link,所以需要把远端机器map到本地
ssh -L8888:localhost:8888 ubuntu@100.20.65.33,可以直接点击访问URL
ssh
建立加密的远程连接
-L8888:localhost:8888
本地端口转发(Local Port Forwarding):把本地 8888 → 远程 localhost:8888
ubuntu@100.20.65.33
以用户 ubuntu 登录这台公网 IP 为 100.20.65.33 的云主机
原理:
远程机器启动 Jupyter 后,终端会打印一串形如http://localhost:8888/?token=xxxx的地址。这个 localhost 指的是“那台远端机器”,所以:
如果直接在浏览器里点这条链接,浏览器会去找自己电脑上的 8888 端口,当然什么都打不开。
用 ssh -L8888:localhost:8888 做本地端口转发后,浏览器访问 http://localhost:8888 时,SSH 会把请求加密转发到远端的真实 Jupyter 进程,于是就能像本地一样打开、写代码、跑实验。
这里可以安装一个叫rise的插件:pip install rise,这样就可以把jupyter变成幻灯片模式
这里也可以点击图书里面的COLAB
1. 访问
https://colab.research.google.com/github/d2l-ai/d2l-zh-pytorch
→ 自动把 GitHub 仓库变成可运行的 notebook。
2. 连接
点击右上角「Connect」,Google 会分配一台 12 GB RAM 的虚拟机。
3. 安装依赖
在第一个 cell 里执行
python
!pip install git+https://github.com/d2l-ai/d2l-zh@release
→ 一键装好 d2l 包,后面的线性回归、CNN 示例直接能跑。
你可以看到这里的运行情况: