CNNs for a GAN had been unsuccessful for some time until authors of the paper()
came up with the following approach.
Here are the architecture guidelines for stable deep convolutional GANs:
- Replace any pooling layers with strided convolutions (discriminator) and fractional-strided convolutions (generator)
- Use batch norm in both the generator and the discriminator
- Remove fully connected hidden layers for deeper architectures
- Use ReLU activation in the generator for all layers except for the output, which uses
tanh
- Use
LeakyReLU
activation in the discriminator for all layers
To build this architecture, we are going to use the same Fashion-MNIST dataset.
Make relevant imports and initialize the DCGAN class, as shown in the following code:
from __future__ import print_function, division from keras.datasets import fashion_mnist from keras.layers import Input, Dense, Reshape, Flatten, Dropout from keras.layers import BatchNormalization, Activation, ZeroPadding2D from keras.layers.advanced_activations...