PyTorch Week 1: 从零到闭卷 99.5%
今日学习
Week 1 是 Phase 2 的开篇,目标是从零打牢 PyTorch 基础,7 天学完一个完整的训练闭环。
每日内容
| 天数 | 主题 | 核心收获 |
|---|---|---|
| W1D1 | Autograd & Linear Regression | 理解自动求导和计算图 |
| W1D2 | Dataset & DataLoader | 数据加载 pipeline |
| W1D3 | MLP Classifier | 多层感知机的前向传播 |
| W1D4 | Training Engineering | AMP, 梯度累积, 梯度裁剪, Checkpoint |
| W1D5 | Tiny Bigram Language Model | 语言模型和 token embedding |
| W1D6 | Code Organization | 模块化项目结构 |
| W1D7 | Closed-Book Test | 不看文档从零写完整训练闭环 |
最终成果
W1D7 闭卷测验准确率 **99.5%**,从空文件写出一套包含 Dataset、Model、Train/Eval Loop 的完整代码。
关键收获
1. 训练工程四件套
AMP、梯度累积、梯度裁剪、Checkpoint 四个支柱必须掌握。尤其是梯度累积的正确顺序——loss.backward() 在前,optimizer.step() 在累积步数到达时执行。
2. Shape 是第一等公民
几乎所有 bug 都来自 shape 不对。养成每次 forward 后 print shape 的习惯。
3. 闭卷测试暴露了”知道但写不出”
前 6 天有参考资料,闭卷时才发现 DataLoader 的 batch_size 参数位置、accuracy 计算中 argmax 和 squeeze 的顺序、model.train() vs model.eval() 对 BatchNorm 的影响这些细节。
遇到的问题
- Codex 沙箱权限问题,通过
--dangerously-bypass-approvals-and-sandbox解决 - 梯度累积的顺序一开始搞反了,导致梯度没有被正确累积
- accuracy 计算时 argmax 和 squeeze 的顺序
明日计划
进入 Week 2: Mini-ACT / Action Chunking Transformer,从”纯分类模型”转向”动作预测”,学习 imitation learning 和 behavior cloning 的基本闭环。
PyTorch Week 1: 从零到闭卷 99.5%
http://example.com/2026/07/08/2026-07-08-pytorch-week1-reflection/