Skip to content
Auxiliary Classifier Generative Adversarial Networks in Keras
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore initial Nov 22, 2016 initial Nov 22, 2016
acgan-analysis.ipynb Fixed shape issue in sampled_noise generation in notebook Jan 5, 2017 update for consistency with Keras example Nov 28, 2016


This is a simple implementation of AC-GAN on the MNIST dataset, as introduced by Odena, et al., in Keras.

This represents a relatively happy medium between network complexity, ease of understanding, and performance. The samples generated (consult acgan-analysis.ipynb for examples) are clear, consistent, and illustrate the power of the auxiliary classifier.

To run this, you should have Keras and either Theano or TensorFlow (preferably TensorFlow) installed. Also, it is strongly advised that you use a GPU with CuDNN, as convolutions are rather slow on CPUs. If you do not have access to a dedicated GPU, I recommend looking at the Spot Instances on AWS.

You can simply run python, and it will create:

  • params_discriminator_epoch_{{epoch_number}}.hdf5, the discriminator network parameters
  • params_generator_epoch_{{epoch_number}}.hdf5, the generator network parameters
  • plot_epoch_{{epoch_number}}_generated.png, a plot of some generated images

After this is done, you can click through acgan-analysis.ipynb to generate more images and understand the system performance.

You can’t perform that action at this time.