← all repositories
carpedm20/BEGAN-tensorflow

A GAN that autoencodes its way to equilibrium

Reference implementation of BEGAN, the 2017 paper that replaced the discriminator with an autoencoder and a balancing act.

BEGAN-tensorflow
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

Implements BEGAN (Boundary Equilibrium GAN), a TensorFlow 1.3-era project that trains generative models on the CelebA face dataset. You can swap in your own image folder, run python main.py, and get 64×64 or 128×128 generated outputs plus interpolation grids.

The interesting bit

Instead of a standard discriminator, BEGAN uses an autoencoder and balances generator and discriminator losses via a dynamic equilibrium parameter. The README shows this visually: generated faces, interpolations between them, and—unusually—interpolations in the discriminator’s latent space of real images.

Key highlights

  • Supports custom datasets by dropping images into a folder (no preprocessing ritual required)
  • Includes download helper for CelebA with p7zip dependency
  • Generates both 64×64 and 128×128 outputs with shown step counts (300k and 200k respectively)
  • Demonstrates latent-space interpolation for both generator and discriminator autoencoder
  • Part of a larger GAN replication series by the same author (DCGAN, DiscoGAN, SimGAN)

Caveats

  • Locked to TensorFlow 1.3.0; expect friction on modern environments
  • Python 2.7 listed as primary requirement, with 3.x as secondary—dating the project to the 2-to-3 transition era
  • No training curves, hyperparameter notes, or convergence guidance beyond the paper reference

Verdict

Worth a look if you’re studying GAN history or need a clean, minimal BEGAN baseline to compare against. Skip it if you want production-ready generation; the dependencies alone are a time capsule.

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