外观
第1章 深度学习环境与工具
1. conda
conda 是一个 环境管理器 + 包管理器。
你可以把它理解成:给不同项目创建独立的“Python 工作房间”。
比如你现在有:
bash
(base)这是 conda 默认房间。
你刚才创建了:
bash
(d2l-zh)这是专门给深度学习/D2L 用的房间。
为什么需要 conda?
因为不同项目需要的 Python 版本和库版本可能不一样。比如:
text
项目 A:需要 Python 3.8 + 旧版 PyTorch
项目 B:需要 Python 3.11 + 新版 PyTorch
项目 C:需要 TensorFlow如果全部装在同一个 Python 里,很容易冲突。conda 的作用就是把它们隔离开。
你现在执行的:
bash
conda create -n d2l-zh python=3.11 pip -y意思是:
text
创建一个叫 d2l-zh 的独立环境
里面使用 Python 3.11
并安装 pip
-y 表示自动确认然后:
bash
conda activate d2l-zh意思是:
text
进入 d2l-zh 这个环境进入之后,你再安装:
bash
pip install torch d2l jupyter这些库就只装进 d2l-zh,不会污染其他项目。
最常用命令就这几个:
bash
conda env list # 查看已有环境
conda activate d2l-zh # 进入环境
conda deactivate # 退出当前环境
conda env remove -n d2l-zh # 删除环境你现在只需要记住一句话:以后学 D2L / 深度学习之前,先打开 Terminal,执行 conda activate d2l-zh。
然后再运行:
bash
cd ~/pytorch
jupyter notebook2. Jupyter Notebook
Jupyter Notebook 是一个“浏览器里的 Python 代码本”,即一页电子笔记 = 文字说明 + Python 代码 + 运行结果 + 图表
D2L《动手学深度学习》用它,是因为深度学习最适合边看理论、边运行代码、边观察结果。
先确认你在环境里:
bash
conda activate d2l-zh然后进入 PyTorch 版 D2L 文件夹:
bash
cd ~/pytorch启动 Jupyter:
bash
jupyter notebook执行后,Terminal 不要关。浏览器会自动打开一个页面,地址通常类似:
text
http://localhost:8888/tree这个页面就是 Jupyter 的文件管理器。
进去后按这个路径点:
text
chapter_preliminaries
→ ndarray.ipynb.ipynb 就是 Notebook 文件。
打开后你会看到一格一格的内容。每一格叫一个 cell。
主要有两种 cell:
text
Markdown cell:文字说明,不是代码
Code cell:Python 代码,可以运行运行当前 cell 的快捷键是:
text
Shift + Enter意思是:运行当前格,并跳到下一格。
你第一次学的时候,只需要做三件事:
text
1. 从上到下读
2. 每个代码格按 Shift + Enter 跑一遍
3. 看输出结果和书里解释是否一致例如你看到这种代码格:
python
import torch
x = torch.arange(12)
x按 Shift + Enter 后,下面会输出:
text
tensor([0, 1, 2, ..., 11])这说明代码运行成功。
你可以改代码试验,比如把:
python
torch.arange(12)改成:
python
torch.arange(20)再按 Shift + Enter,观察结果变化。深度学习一定要这样学,不能只看。
常用操作:
text
Shift + Enter:运行当前 cell
A:在上方新建 cell
B:在下方新建 cell
DD:删除当前 cell,连续按两次 D
Command + S:保存
Kernel → Restart:重启 Python 内核
Kernel → Restart & Run All:重启并从头运行全部代码注意:Jupyter Notebook 不是“普通网页”。它背后连接的是你本机的 Python。你在 Notebook 里运行:
python
import torch用的就是你刚才安装在 d2l-zh 环境里的 PyTorch。
所以 Terminal 必须保持开着。你关掉 Terminal,Jupyter 服务就停了。
3. torch
torch 是 PyTorch 这个深度学习库在 Python 代码里的名字。
也就是说:
python
import torch意思是:把 PyTorch 这个库导入进来,后面就可以用它做深度学习计算。
你可以先把它理解成:torch 是一个专门用来处理“张量”和“神经网络训练”的工具箱。
最核心的功能有 4 个。
第一,创建和操作张量。张量可以先理解成“多维数组”:
python
import torch
x = torch.tensor([1, 2, 3])
print(x)输出:
text
tensor([1, 2, 3])第二,做矩阵计算。深度学习里面大量计算都是矩阵乘法、加法、求和:
python
x = torch.arange(12)
x = x.reshape(3, 4)
print(x)第三,自动求导。深度学习训练模型时,需要计算梯度,PyTorch 可以自动算:
python
x = torch.tensor(2.0, requires_grad=True)
y = x ** 2
y.backward()
print(x.grad)这里 x.grad 就是梯度。
第四,搭建神经网络。后面你会看到:
python
from torch import nn
net = nn.Linear(2, 1)nn 是 PyTorch 里专门用来搭神经网络层的模块。
所以你现在记住一句话:
text
torch = PyTorch 的主库,用来创建张量、做矩阵计算、自动求导、训练神经网络。
评论区
可以在这里补充理解、提问,或记录这一章的讨论。