6.2.1 PyTorch 路线图:Tensor、Autograd、Module、DataLoader、Loop
PyTorch 把深度学习闭环变成可运行代码。先学执行顺序,再补细节会轻松很多。


第二张图是最小 PyTorch 训练循环:tensor、model、loss、backward、step、repeat。
tensormodellossbackwardoptimizer.steprepeat
跑一次 Autograd
Section titled “跑一次 Autograd”创建 pytorch_first_loop.py,安装 torch 后运行。
import torch
w = torch.tensor([0.0], requires_grad=True)learning_rate = 0.2
for step in range(1, 5): loss = (w - 3).pow(2) loss.backward() with torch.no_grad(): w -= learning_rate * w.grad w.grad.zero_() print(step, "w=", round(w.item(), 3), "loss=", round(loss.item(), 3))预期输出:
1 w= 1.2 loss= 9.02 w= 1.92 loss= 3.243 w= 2.352 loss= 1.1664 w= 2.611 loss= 0.42这里能看到 PyTorch 的关键习惯:计算 loss,调用 backward(),在不跟踪梯度的区域更新参数,然后清空旧梯度。
按这个顺序学
Section titled “按这个顺序学”| 顺序 | 阅读 | 练什么 |
|---|---|---|
| 1 | 6.2.2 从 sklearn 到 PyTorch | 为什么训练循环变得显式 |
| 2 | 6.2.3 PyTorch 基础 | tensor、dtype、shape、device |
| 3 | 6.2.4 Autograd | requires_grad、backward、grad |
| 4 | 6.2.5 nn Module | 模型类、参数 |
| 5 | 6.2.6 数据加载 | Dataset、DataLoader、batch |
| 6 | 6.2.7 训练循环 | train/eval 循环、loss 记录 |
| 7 | 6.2.8 实用技巧 | shape、device、seed、调试 |
| 8 | 6.2.9 PyTorch 工作坊 | 运行并可视化小模型 |
保留一条 PyTorch 循环笔记:
- 张量检查
- 形状、dtype、设备
- 自动求导检查
- loss.backward() 会填充梯度
- 模块检查
- named_parameters() 显示可训练张量
- 加载检查
- 一个批次与模型和损失函数匹配
- 循环检查
- 训练/验证损失分别记录
能读懂一个 PyTorch 循环,并定位数据 batch、模型输出、loss、backward() 和 optimizer 更新这五件事,就算通过。
检查思路与讲解
- 合格答案要把 tensor、模型层、loss、
backward()和 optimizer 更新连成一个训练闭环。 - 证据应包含可运行的小实验、tensor shape 检查,以及能解释的 loss 或验证曲线。
- 自检时要能指出一个失败模式,例如 shape 不匹配、loss 不下降、过拟合、数据泄漏,或只会说 Attention/Transformer 名词却讲不出数据流。