基于PyTorch解析并实现LeNet-5模型

目录

1.LeNet-5模型架构

2. CIFAR10数据集

3.基于LeNet-5模型对CIFAR10数据集进行识别


1.LeNet-5模型架构

         LeNet-5模型共有7层,如下所示:

基于PyTorch解析并实现LeNet-5模型_第1张图片

       下面我们对每一层的结构进行解析:

(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解析并实现LeNet-5模型_第2张图片

PyTorch中内置了CIFAR10数据集,只需要调用torchvision.datasets.CIFAR10就可以轻松使用。

3.基于LeNet-5模型对CIFAR10数据集进行识别

你可能感兴趣的:(深度学习,PyTorch实现深度学习,卷积,深度学习,神经网络,计算机视觉)