背景
lenet5网络源自于Yann LeCun的论文“Gradient-Based Learning Applied to Document Recognition” ,起初被应用于银行支票的手写符号识别,经调整后对广泛应用于手写数字的识别
网络结构
常用的对minst数据集进行识别的lenet5网络结构如下
在网上查询过程中发现对lenet5有 3卷积2连接、2卷积3连接两种,版本,在原始论文中为3卷积2池化,因为没有填充,卷积后特征尺寸变为1*1:
input layer: 32*32*1 images
conv1 layer: 5*5*6 conv kernels(no bias) 28*28*6 output(32 + 0 - 5 + 1 = 28)
或 3*3*6 conv kernels(no bias) 28*28*6 output (30 + 0 - 3 + 1 = 28)
pool1 layer: 2*2, 2 maxpool(no bias) 14*14*6 output( (28 + 0) / 2 )
conv2 layer: 5*5*16 conv kernels(no bias) 10*10*16 output(14 + 0 - 5 + 1 = 10)
pool2 layer: 2*2, 2 maxpool(no bias) 5*5*16 output( (10 + 0) / 2 )
conv3 layer: 5*5*120 conv kernels(no bias) 1*1*120output(5 + 0 - 5 + 1 = 5)
fc1 layer: 84 output(5*5*120 --> 84)
fc2 layer: 10 output(84 --> 10)
代码:
paddle实现
注:
本人环境win10,python3.6 64bit
所需数据:测试数据pic(内含10张minst图片)
mnist数据集为28*28*1,为方便:
torch:上下左右 填充2圈,变为32*32*1
tensorflw:上下左右 填充1圈,变为30*30*1,第一次使用尺寸3*3卷积核
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:lenet5 结构 及 pytorch、tensorflow、keras(tf)、paddle实现 - Python技术站