Group 0B: PyTorch Tensors and Autograd | 0B: PyTorch 张量与自动求导
本组把 Python 基础过渡到 PyTorch 张量和自动求导,是从“会写数据结构”跨到“会写深度学习代码”的关键一步。对 Part 2 来说,这一组最重要的作用是让你先看懂 shape、layout、mask 和梯度这几类高频变量,不至于在基础算子和训练闭环里卡住。
Group Overview | 组概览
这一组把 Python / NumPy 的数组思维推进到 PyTorch 的 Tensor、layout 和 Autograd,帮助你先把“数据怎么放进去、梯度怎么走回来”看顺。你可以把它看成从‘会写数组’走向‘会写可训练张量’的过渡段:先对齐 array -> Tensor、broadcast -> layout、slice -> index 这条翻译链,再去看后面的训练页会顺很多。
对 Part 2 来说,这一组先补的不是抽象理论,而是高频语法桥:torch.tensor / from_numpy / as_tensor、to(dtype=...)、view / reshape / permute / transpose、unsqueeze / squeeze、stack / cat、expand / repeat、masked_fill、index_select / gather、requires_grad / grad_fn / is_leaf、retain_grad()、no_grad() 和 detach()。
若你的目标是尽快进入 Part 2,优先把 05 / 06 / 07 / 08 串起来,它们分别对应 Tensor 最小入口、layout 与查表、Autograd 机制、以及训练时的梯度边界管理。
Group Asset Overview | 组内资产总览
| 页 | 核心职责 | Q 数 | 验证数 | 覆盖 Q | 定位 |
|---|---|---|---|---|---|
| 05 | Tensor、dtype、device 的最小判断 | 3 | 3 | Q1, Q2, Q3 | 起步页 |
| 06 | layout、stride、view、reshape 的契约 | 5 | 5 | Q1, Q2, Q3, Q4, Q5 | 主线页 |
| 07 | Autograd、backward 和梯度边界 | 4 | 4 | Q1, Q2, Q3, Q4 | 核心页 |
| 08 | 梯度清理与无梯度模式 | 4 | 4 | Q1, Q2, Q3, Q4 | 收口页 |
Learning Path | 学习路径
Recommended Order | 推荐顺序
- 先看 05 -> 06 -> 07 -> 08,把 Tensor 表达、布局、梯度回传和梯度习惯先串起来。若目标是尽快进入 Part 2,优先把 06 和 07 读透,它们最直接对应后面的维度变换、Embedding、反向传播和训练闭环。
Part 2 重点 | Part 2 Focus
- 05:先补 Tensor 创建、dtype 和索引类型判断,解决“数据能不能喂进去”的问题。
- 06:先补 layout、mask、广播和查表语法,解决“维度和位置怎么对上”的问题。
- 07:先补 Autograd、leaf、
retain_grad()和自定义梯度,解决“梯度怎么回来”的问题。 - 08:先补训练 / 验证 / 推理的边界、
zero_()、no_grad()和detach(),解决“梯度什么时候该停”的问题。
Next Steps | 后续衔接
- 看完本组后,继续进入 0C,把
nn.Module、Optimizer 和 Loss 接上;如果在 Part 2 里先遇到模型定义或训练循环卡点,可以先回看本组的06和07。 如果你是从 NumPy 过来的,优先回看05和06;如果你是从 Python 过来的,先把0A的对象和维度表达补齐。
Environment Notes | 环境说明
- 默认按
CPU-first阅读,优先把 Tensor 和计算图关系看懂。 - 这里只写组级统一前提,不点到具体节号。
- 少数页面如需
GPU optional,以后续单页说明为准。
