Appearance
总结与学习路径
恭喜你走完全程。这篇帮你把知识收拢成一张清单,并规划接下来的路。
核心要点回顾
一句话版:PyTorch = 张量(数据)+ Autograd(梯度)+ nn.Module(模型)+ DataLoader(管道)+ 五步训练循环(引擎)。
| 篇章 | 你必须带走的东西 |
|---|---|
| 开篇 | PyTorch 解决 GPU 加速、自动求导、灵活建模三件事;深度学习方向它是事实标准 |
| 心智模型 | 数据流(前向)→ 梯度流(backward)→ 更新流(step),三条流构成训练循环 |
| 张量 | 三要素 shape / dtype / device;80% 的 bug 是形状问题,先想清每个维度的含义 |
| 自动求导 | backward 只算梯度不清零不更新;推理"先 eval 再 no_grad" |
| nn.Module | 层写在 __init__、逻辑写在 forward、外部调 model(x);多分类输出 logits 不套 Softmax |
| 数据管道 | Dataset 协议 __len__ + __getitem__;训练集 shuffle、测试集不 shuffle;设种子 |
| 实战项目 | 五步循环 forward → loss → zero_grad → backward → step 是一切训练的心脏 |
| 进阶 | AMP / compile / 梯度累积提性能;可复现 + 可恢复是生产底线 |
| 排错 | 缩小规模、打印形状、梯度体检、过拟合单 batch——四板斧走遍天下 |
两个亲手踩过的坑再敲一次黑板:
- 形状不匹配(
mat1 and mat2 ...):Linear 的最后一维 ≠ in_features,打印 shape 定位。 - 梯度忘清零:程序不报错但 loss 不降——"静默失败"比报错更危险,所以要有"过拟合单 batch"的验证习惯。
下一步学什么
按顺序,每次只走一格:
- CNN 与图像:把实战项目的 MLP 换成
nn.Conv2d堆叠,重训 MNIST(预期 99.2%+),再战 CIFAR-10。推荐动手:改 5 行代码对比参数量与准确率。 - 迁移学习:用
torchvision.models的预训练 ResNet 微调一个自己的图片分类任务(如花卉/病害识别),学会requires_grad_(False)冻结与分层学习率。 - 序列与文本:Embedding → LSTM → 注意力 → Transformer,配合 Hugging Face Transformers 生态(它本身就是 PyTorch 写的)。
- 大模型方向:LoRA 微调(PEFT 库)、向量检索与 RAG、推理加速(vLLM)。有了本教程的张量/训练循环底子,读这些框架源码不会懵。
- 部署:ONNX 导出、TorchServe 服务端、ExecuTorch 端侧。会用
torch.compile/torch.export把模型变成服务。
同时补理论:吴恩达《深度学习》专项课或《动手学深度学习(PyTorch版)》——理论和框架要交替喂,光有框架你会调 API 不知道为什么,光有理论你没手感。
推荐资源
| 资源 | 类型 | 适合阶段 |
|---|---|---|
| 《动手学深度学习》PyTorch 版(d2l.ai,中英免费) | 书 + 可运行代码 | 本教程的直接下一章 |
| PyTorch 官方 60 分钟闪电入门 | 官方教程 | 快速过 API |
| pytorch.org 官方 tutorials(迁移学习、DDP、AMP 各篇) | 官方文档 | 每个进阶主题 |
| fast.ai《Practical Deep Learning for Coders》 | 免费视频课 | 实战驱动型学习者 |
| Stanford CS231n(课程笔记公开) | 大学课程 | 计算机视觉理论 |
| Hugging Face Course(huggingface.co/learn,有中文版) | 免费课程 | 进入 NLP/大模型生态 |
最后
深度学习的入门门槛其实只有一个:跑起来,然后修报错。你已经修过两个了,这条路剩下的部分,不过是把同样的动作在更大的模型和更多的数据上重复若干次。
开一个新终端,从 python -c "import torch; print(torch.__version__)" 开始你的第一个自己的项目吧。