Skip to content

Latest commit

 

History

History

chap5卷积神经网络

Folders and files

README.md

第5章 卷积神经网络

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