LeNet网络结构:
INPUT:输入图片大小32*32
C1层:卷积核大小:6个5×5,feature_map大小:28×28,通道数6
S2(subsampling下采样):池化层大小:2×2 步长为2,得到 的feature_map大小:14×14 通道数:6
C3层:卷积核大小:16个5×5×6,feature_map大小:10×10,通道数16
S4(subsampling下采样):池化层大小:2×2 步长为2,得到 的feature_map大小:5×5 通道数:16
C5层:卷积核大小:120个5×5×16,feature_map大小:1×1,通道数120
F6全连接层:神经元数84
OUTPUT层:神经元数10
代码实现:
from tensorflow.keras import Sequential,layers
model=Sequential()
model.add(layers.Conv2D(6,input_shape=(32,32,1),kernel_size=(5,5),padding='valid'))
model.add(layers.AveragePooling2D(pool_size=(2,2),strides=(2,2)))
model.add(layers.Conv2D(16,kernel_size=(5,5),padding='valid'))
model.add(layers.AveragePooling2D(pool_size=(2,2),strides=(2,2)))
model.add(layers.Conv2D(120,kernel_size=(5,5),padding='valid'))
model.add(layers.Flatten())
model.add(layers.Dense(units=84))
model.add(layers.Dense(units=10,activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy',optimizer='adam')
model.summary()
LeNet5打印概要: