重用Keras中的现有神经网络(LeNet-5)

时间:2020-05-13 05:01:08

标签: python tensorflow keras neural-network conv-neural-network

我是Tensorflow和Keras的新手,我想创建用于图像识别的卷积神经网络。我知道每个问题都是个别的,但是当我想使用任何现有的CNN架构(如LeNet-5)时,有什么建议吗?

LeNet-5输入用于32x32灰度图像。我的图片在RGB中为50x50。我应该调整它们的大小并转换为灰度吗?相同尺寸的图像重要吗?

此外,LeNet-5输出是针对10个图像类别的,我只有2个类别。我是否应该在输出层10中保留神经元的数量,并“仅使用2个”?还是最后一层只有2个神经元?当我更改最后一层的神经元计数时,是否应该更改上一层的神经元计数(密度84)?

model = keras.Sequential()
model.add(layers.Conv2D(6, kernel_size=(3, 3), activation='relu', input_shape=(50,50,3))) # input_shape=(32,32,1)?
model.add(layers.AveragePooling2D())
model.add(layers.Conv2D(16, kernel_size=(3, 3), activation='relu'))
model.add(layers.AveragePooling2D())
model.add(layers.Flatten())
model.add(layers.Dense(120, activation='relu'))
model.add(layers.Dense(84, activation='relu')) # 84 neurons?
model.add(layers.Dense(2, activation='softmax')) # 2 or 10 neurons?

1 个答案:

答案 0 :(得分:0)

Here,您在Tensorflow + Keras中实现了LeNet-5。 这只是一个示例,您可以在Internet上找到许多实现。

请注意遵循CNN的体系结构,您的体系结构对我来说似乎是正确的。

还要注意过滤器的尺寸!