← all repositories
GANs-in-Action/gans-in-action

GANs from scratch, one notebook at a time

The official code companion to Manning's "GANs in Action" book, walking through every major architecture from vanilla GAN to CycleGAN.

1k stars Jupyter Notebook LearningImage · Video · Audio
gans-in-action
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does This repo is the hands-on companion to Jakub Langr and Vladimir Bok’s Manning book. Each chapter is a self-contained Jupyter notebook implementing a specific GAN variant — vanilla GAN, DCGAN, Progressive GAN, Semi-Supervised GAN, Conditional GAN, and CycleGAN — using Keras on TensorFlow 1.8+. You clone, open a notebook, and run cells sequentially to reproduce the book’s examples.

The interesting bit The README doesn’t just dump code; it maps every implementation to its canonical research paper with authors, year, and claimed contribution. That’s unusual diligence for a companion repo — it doubles as a curated reading list for anyone trying to trace how we got from Goodfellow 2014 to unpaired image translation.

Key highlights

  • Chapter-by-chapter notebooks: autoencoders through CycleGAN (MNIST, CelebA, Horse2Zebra datasets)
  • Explicit paper trail for each architecture with arXiv links
  • Best practices section with concrete tips: normalize to [-1, 1], use LeakyReLU in discriminator, avoid FC layers in deep architectures
  • Curated external resources: courses, video lectures, evaluation metrics (IS, FID), and community links
  • MIT licensed

Caveats

  • Stuck on TensorFlow 1.8+ and Keras 2.1.6 — ancient by deep learning standards; expect dependency friction on modern environments
  • No chapter 5 implementation folder listed in the repo structure, despite a chapter description existing in the text
  • GPU recommended but not required; 8GB+ RAM minimum

Verdict Grab this if you’re working through the book or want a structured, paper-linked tour of classic GAN architectures. Skip it if you need production PyTorch/TF2 code or state-of-the-art results; this is pedagogy, not a model zoo.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.