| Notebook | 当前实验 |
|---|---|
| 上篇 | 单通道与多通道互相关、步长和填充、汇聚、手写算子与框架对照、LeNet的MNIST分类 |
| 下篇 | 在相同MNIST划分上比较有无残差连接,再调整ResNet18入口运行CIFAR-10分类 |
从Notebook所在目录顺序运行。首次通过torchvision下载MNIST和CIFAR-10,缓存于 ~/.cache/torch_data。环境安装见运行说明。
MNIST训练/验证/测试分别取1,000/200/200条,上下篇使用同一划分。残差实验控制学习率、初始参数和批次顺序,比较直连边的作用。CIFAR-10短程配置取5,000/1,000/1,000条,完整配置由Notebook中的开关控制。
训练过程记录损失与验证指标,最后用验证集选出的模型评价测试集。短程结果只说明当前配置下的表现;运行时间和准确率需要连同设备、训练规模与随机种子报告。
- PyTorch卷积接口执行互相关,卷积核不翻转。形状对照要同时检查步长、填充、通道数和偏置。
- 先验证手写算子与框架输出、梯度的一致性,再用框架算子运行较长训练。
- 残差两支相加前必须具有相同形状;通道数或步长变化时,通过投影分支对齐。
- 为32×32图像调整ResNet18时,检查首层卷积和下采样设置。
从仓库根目录运行:
python -m pytest pytorch/tests/test_chap5.py -q