【发布时间】:2020-07-10 09:47:16
【问题描述】:
我正在阅读有关 Keras 卷积自动编码器的本教程,我意识到在计算中这些层之后我没有得到维度 (8, 4, 4) - 图像的维度应该已经下降到 3第二个卷积层,因为步幅很大。那么它是如何获得这个维度的呢?或者谁能解释一下计算过程?
我也对在这种情况下如何执行“相同”填充感到困惑,因为他们总是提到“当 stride=1 时,相同的填充将保持相同的尺寸”。我完全明白。但是当 stride 不是 1 时会发生什么?每边有多少个零?我知道尺寸的计算公式 floor((h + 2p - k)//s + 1),但在这种情况下 p 是多少?
谢谢
input_img = Input(shape=(1, 28, 28))
x = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(input_img)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x)
encoded = MaxPooling2D((2, 2), border_mode='same')(x)
# at this point the representation is (8, 4, 4) i.e. 128-dimensional
【问题讨论】:
标签: tensorflow keras conv-neural-network