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

时间:2017-01-05 14:54:44

标签: neural-network deep-learning keras conv-neural-network keras-layer

我试图为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吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

您可以执行PaddingLayers(https://keras.io/layers/convolutional/#zeropadding2d)然后应用卷积来获取合理的输出或执行另一次Upsampling,然后使用border_mode ='valid'应用连续的Convolutions来获取corect输出大小。您可以提前完成卷积,这样您就不需要那么多了。