The InfoGAN repository contains the original implementation used to reproduce the results in the paper “InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets”. InfoGAN is a variant of the GAN (Generative Adversarial Network) architecture that aims to learn disentangled and interpretable latent representations by maximizing the mutual information between a subset of the latent codes and the generated outputs. That extra incentive encourages the generator to structure its latent space in a way where certain latent variables control meaningful, distinct factors (e.g. rotation, width, stroke thickness) in the output images. The repository includes code for experiments (e.g. on MNIST), launcher scripts, and some tests. It depends on a development version of TensorFlow (the code expects features not in older stable releases), and also uses other libraries like prettytensor and progressbar.
Features
- GAN architecture augmented with a mutual-information maximization term to encourage disentanglement
- Code for running experiments (e.g. MNIST) using launcher scripts
- Dependency on TensorFlow dev branch and supporting libraries (prettytensor, progressbar)
- Docker support for reproducible execution environments
- TensorBoard integration for visualizing generated outputs and training metrics
- Archived status: preserved as reference implementation rather than actively maintained