从卷积 (GAN) 中获得所需的输出

Get desired output from convolution (GAN)

我正在尝试为 cifar10 编写 GAN 模型。 但是我有一个问题。

如何从卷积网络中得到想要的输出 (3x32x32)? 实际上,我的模型是从我为 mnist 找到的模型中得到启发的:

model = Sequential()
model.add(Dense(input_dim=100, output_dim=1024))
model.add(Activation('tanh'))
model.add(Dense(128*7*7))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Reshape((128, 7, 7), input_shape=(128*7*7,)))
model.add(UpSampling2D(size=(2, 2)))
model.add(Convolution2D(64, 5, 5, border_mode='same'))
model.add(Activation('tanh'))
model.add(UpSampling2D(size=(2, 2)))
model.add(Convolution2D(3, 5, 5, border_mode='same'))

所以,从那里,我有 3x28x28 的输出 你知道我怎样才能得到 3x32x32 吗? 谢谢!

您可以执行 PaddingLayers (https://keras.io/layers/convolutional/#zeropadding2d),然后应用卷积来获取合理的输出,或者执行另一个上采样,然后应用 border_mode='valid' 的连续卷积来获取正确的输出大小。您可以更早地进行卷积,这样您就不需要那么多了。