目录
1.LeNet-5模型架构
LeNet-5模型共有7层,如下所示:
下面我们对每一层的结构进行解析:
(1)第一层:卷积层
输入:原始的图片像素矩阵(长、宽、通道数),大小为32x32x1
参数:滤波器尺寸为5x5,深度为6,不使用全0补充步长为1
输出:特征图,大小为28x28x6
分析:由于没有使用全0补充,所以这一层的输出尺寸为32-5+1=28,深度为6,本卷积层一共有5x5x1x6+6=156个参数。其中6个为偏置项参数,因为下一层的节点矩阵有28x28x6=4704个节点,每个卷积又和5x5=25个当前层的节点相连,所以本卷积层共有4704x(25+1)=122304个连接。
(2)第二层:池化层
输入:特征图,大小为28x28x6
参数:滤波器2x2,步长为2
输出:特征图,大小为14x14x6
分析:6个特征图包含有6x2=12个可训练参数及14x14x6x(2x2+1)=5880个连接
(3)第三层:卷积层
输入:特征图,大小为14x14x6
参数:滤波器尺寸为5x5,深度为16,不使用全0补充步长为1
输出:特征图,大小为10x10x16
分析:由于没有使用全0补充,所以这一层的输出尺寸为14-5+1=10,深度为16,本卷积层一共有5x5x6x16+16=2416个参数。其中16个为偏置项参数,因为下一层的节点矩阵有10x10x16=1660个节点,每个卷积又和5x5=25个当前层的节点相连,所以本卷积层共有1660x(25+1)=41600个连接。
(4)第四层:池化层
输入:特征图,大小为10x10x16
参数:滤波器2x2,步长为2
输出:特征图,大小为5x5x16
分析:16个特征图包含有16x2=32个可训练参数及5x5x16x(2x2+1)=2000个连接
(5)第五层:全连接层
输入节点数:5x5x16=400
参数个数:5x5x16x120+120=48120
输出节点个数:120
(6)第六层:全连接层
输入节点数:120
参数个数:120x84+84=10164
输出节点数:84
(7)第七层:全连接层
输入节点数:84
参数个数:10x84+10=850
输出节点数:10
2. CIFAR10数据集
CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。一共包含 10 个类别的 RGB 彩色图 片:飞机( a叩lane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。图片的尺寸为 32×32 ,数据集中一共有 50000 张训练圄片和 10000 张测试图片。 CIFAR-10 的图片样例如图所示。
PyTorch中内置了CIFAR10数据集,只需要调用torchvision.datasets.CIFAR10就可以轻松使用。