Three generative models, one TensorFlow garage
A single repo that lets you train DCGAN, VAE, or DRAW without wrestling three different codebases.

What it does
This is a unified TensorFlow implementation of three landmark generative models from the mid-2010s: DCGAN for adversarial image generation, a deep convolutional VAE for learned compression and sampling, and DRAW, which uses recurrent networks with attention to iteratively sketch images. One main.py switches between VAE and GAN; a separate main-draw.py handles the recurrent model.
The interesting bit
The value here is consolidation, not novelty. These papers originally came with their own disparate codebases, training loops, and TensorFlow idioms. Stashing all three in one repo with shared conventions saves you from archaeology.
Key highlights
- DCGAN reportedly produces “decent results after 10 epochs” with default settings
- VAE and GAN share a single entry point (
main.py) with a--modelflag - DRAW implementation includes the attention mechanism (though the README notes plans to swap in Spatial Transformer Layers)
- Straightforward CLI: just point
--working_directoryat a temp directory and go - TODO list is honest about what’s missing: no Adversarial Autoencoder yet, and attention is still the original paper’s version
Caveats
- The README is sparse: no sample outputs, no dataset requirements, no dependency list beyond “TensorFlow”
- DRAW runs separately, so “unified” only goes so far
- “More complex data” is explicitly listed as unfinished business
Verdict
Grab this if you’re teaching or comparing these three methods and want one consistent codebase to hack on. Skip it if you need production pipelines, modern PyTorch, or anything beyond proof-of-concept image generation.