A zoo of variational autoencoders on a controlled diet
It exists so you can compare eighteen VAE architectures side-by-side without wrestling eighteen different codebases.

What it does This repo implements eighteen variational and generative autoencoder variants—from vanilla VAE to VQ-VAE, WAE, and Beta-TC-VAE—in a single PyTorch codebase. Every model is trained on the same CelebA face dataset with deliberately similar architectures, so the differences you see come from the algorithms, not the scaffolding. Think of it as a controlled experiment rendered as a GitHub repository.
The interesting bit The author treats architectural consistency as a feature, not a bug: layers stay identical across models unless a paper explicitly demands something radical, like VQ-VAE’s residual blocks and lack of batch normalization. That turns the collection from a grab-bag of copy-pasted implementations into a proper benchmark kitchen where reconstruction quality differences actually mean something.
Key highlights
- 18 models including IWAE, MIWAE, SWAE, Joint VAE, and Categorical (Gumbel-Softmax) VAE
- All trained on CelebA with aligned architectures for fair comparison
- Results table with reconstruction and sample images for every model
- PyTorch Lightning handles the training loop
- Apache 2.0 license
Caveats
- CelebA dataset downloads are fragile; the README warns of Google Drive file-structure changes and suggests a manual workaround
- Ladder VAE, Gamma VAE, and Vamp VAE are listed as unfinished because they explicitly “don’t work well”
- Badges still cite Python 3.5 and PyTorch 1.3, and the last noted update was December 2021
Verdict Worth bookmarking if you are studying or prototyping VAEs and need a level playing field for comparison. Less useful if you need maintained data loaders or the latest generative architectures.
Frequently asked
- What is AntixK/PyTorch-VAE?
- It exists so you can compare eighteen VAE architectures side-by-side without wrestling eighteen different codebases.
- Is PyTorch-VAE open source?
- Yes — AntixK/PyTorch-VAE is open source, released under the Apache-2.0 license.
- What language is PyTorch-VAE written in?
- AntixK/PyTorch-VAE is primarily written in Python.
- How popular is PyTorch-VAE?
- AntixK/PyTorch-VAE has 7.7k stars on GitHub.
- Where can I find PyTorch-VAE?
- AntixK/PyTorch-VAE is on GitHub at https://github.com/AntixK/PyTorch-VAE.