The GAN zoo in Keras: twenty species, one tired zookeeper
It translates the great GAN paper rush of the mid-2010s into readable Keras code, trading exact layer configs for clarity.

What it does
Keras-GAN is a reference library that re-implements over twenty influential GAN architectures—from the original Goodfellow GAN to CycleGAN, Pix2Pix, and Wasserstein variants—using plain Keras. Each model lives in a self-contained directory and targets a standard dataset like MNIST to demonstrate the core algorithm. The author treats the collection as a teaching aid rather than a reproduction benchmark, so the code is intentionally stripped to the essential generator-discriminator logic.
The interesting bit
The breadth is the point. Instead of chasing state-of-the-art scores, the repo acts like a Rosetta Stone for GAN taxonomy: you can see how AC-GAN adds an auxiliary classifier, how CycleGAN enforces consistency with a backward loop, or how PixelDA adapts MNIST to MNIST-M to boost accuracy from 55% to 95%. It captures a specific era of generative modeling when every new paper introduced a fresh acronym.
Key highlights
- Covers over twenty distinct architectures, including BiGAN, CoGAN, DiscoGAN, DualGAN, InfoGAN, LSGAN, SGAN, SRGAN, and both WGAN variants.
- Each implementation is self-contained in its own directory with a single Python file and links directly to the original arXiv paper.
- Includes visual results—GIFs and still images—for many models, showing outputs like MNIST generation, image-to-image translation, and super-resolution.
- The PixelDA example includes a concrete accuracy comparison (naive 55% vs. adapted 95% on MNIST-M) demonstrating domain adaptation value.
- A sister repo provides the same collection in PyTorch, making the patterns framework-agnostic.
Caveats
- The author explicitly states the repository has gone stale and is no longer maintained; they are looking for a collaborator to take over.
- Several models are simplified versions of the original papers, so layer configurations may not match the official implementations.
- Dataset preparation relies on external scripts, and at least one model (SRGAN) refers you to inline comments for missing setup details.
Verdict
Grab this if you are a student or researcher who wants to see how classic GAN papers translate into Keras API calls. Skip it if you need production-ready, maintained code or the latest diffusion-based generative models.
Frequently asked
- What is eriklindernoren/Keras-GAN?
- It translates the great GAN paper rush of the mid-2010s into readable Keras code, trading exact layer configs for clarity.
- Is Keras-GAN open source?
- Yes — eriklindernoren/Keras-GAN is open source, released under the MIT license.
- What language is Keras-GAN written in?
- eriklindernoren/Keras-GAN is primarily written in Python.
- How popular is Keras-GAN?
- eriklindernoren/Keras-GAN has 9.2k stars on GitHub.
- Where can I find Keras-GAN?
- eriklindernoren/Keras-GAN is on GitHub at https://github.com/eriklindernoren/Keras-GAN.