0

我正在尝试为 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 吗?谢谢!

4

1 回答 1

2

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

于 2017-01-05T15:00:31.270 回答