计算卷积神经网络中特征图的维度

Calculate dimension of feature maps in convolutional neural network

我在 Keras 中有卷积神经网络。 我需要知道每一层特征图的尺寸。 我的输入是 28 x 28 像素的图像。我知道有一种方法可以计算这个,但我不确定如何计算。下面是我使用 Keras 的代码片段。

img_rows, img_cols = 28, 28
nb_filters = 32
nb_pool = 2
nb_conv = 3

model = Sequential()

model.add(Convolution2D(nb_filters, nb_conv, nb_conv, border_mode='valid', input_shape=(1, img_rows, img_cols)))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))

model.add(Convolution2D(64, nb_conv, nb_conv, border_mode='valid'))
model.add(Activation('relu'))
model.add(Convolution2D(64, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))


model.add(Dense(nb_classes))
model.add(Activation('softmax'))

归根结底,这就是我想画的。谢谢。

检查 this 篇文章。

输出体积空间大小的公式:K*((W−F+2P)/S+1),其中W - 输入体积大小,F 卷积层神经元的感受野大小,S - 应用它们的步幅,P - 边框上使用的零填充量,K - 卷积层的深度。