Skip to content

Group 0B: PyTorch Tensors and Autograd | 0B: PyTorch 张量与自动求导

本组把 Python 基础过渡到 PyTorch 张量和自动求导,是从“会写数据结构”跨到“会写深度学习代码”的关键一步。对 Part 2 来说,这一组最重要的作用是让你先看懂 shape、layout、mask 和梯度这几类高频变量,不至于在基础算子和训练闭环里卡住。

Group Overview | 组概览

这一组把 Python / NumPy 的数组思维推进到 PyTorch 的 Tensor、layout 和 Autograd,帮助你先把“数据怎么放进去、梯度怎么走回来”看顺。你可以把它看成从‘会写数组’走向‘会写可训练张量’的过渡段:先对齐 array -> Tensorbroadcast -> layoutslice -> index 这条翻译链,再去看后面的训练页会顺很多。

对 Part 2 来说,这一组先补的不是抽象理论,而是高频语法桥:torch.tensor / from_numpy / as_tensorto(dtype=...)view / reshape / permute / transposeunsqueeze / squeezestack / catexpand / repeatmasked_fillindex_select / gatherrequires_grad / grad_fn / is_leafretain_grad()no_grad()detach()

若你的目标是尽快进入 Part 2,优先把 05 / 06 / 07 / 08 串起来,它们分别对应 Tensor 最小入口、layout 与查表、Autograd 机制、以及训练时的梯度边界管理。

Group Asset Overview | 组内资产总览

核心职责Q 数验证数覆盖 Q定位
05Tensor、dtype、device 的最小判断33Q1, Q2, Q3起步页
06layout、stride、view、reshape 的契约55Q1, Q2, Q3, Q4, Q5主线页
07Autograd、backward 和梯度边界44Q1, Q2, Q3, Q4核心页
08梯度清理与无梯度模式44Q1, Q2, Q3, Q4收口页

Learning Path | 学习路径

  • 先看 05 -> 06 -> 07 -> 08,把 Tensor 表达、布局、梯度回传和梯度习惯先串起来。若目标是尽快进入 Part 2,优先把 0607 读透,它们最直接对应后面的维度变换、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 里先遇到模型定义或训练循环卡点,可以先回看本组的 0607。 如果你是从 NumPy 过来的,优先回看 0506;如果你是从 Python 过来的,先把 0A 的对象和维度表达补齐。

Environment Notes | 环境说明

  • 默认按 CPU-first 阅读,优先把 Tensor 和计算图关系看懂。
  • 这里只写组级统一前提,不点到具体节号。
  • 少数页面如需 GPU optional,以后续单页说明为准。

Released under the MIT License.