This repository contains a TensorFlow implementation of an unsupervised Gaussian Mixture Variational Autoencoder (GMVAE) on the MNIST dataset, specifically making use of the Probability library.
There are currently three models in use:
- VAE is a standard implementation of the Variational Autoencoder, with no convolutional layers
- VAE_GMP is an adaptation of VAE to make use of a Gaussian Mixture prior, instead of a standard Normal distribution
- GMVAE is an attempt to replicate the work described in this blog and inspired from this paper
The directory layout is as follows:
bin
: Bash example scripts for running the aforementioned modelscheckpoints
: Directories to save checkpoints of trained model statesscripts
: TensorFlow scripts to implement the models and run them using the mainrun_gmvae.py
script, alongside other helpful modules (helpers.py
andbase.py
)
Note: This is a work in progress, so any contributions/feedback will be well-received.
- TensorFlow 1.13.1
- TensorFlow Datasets
- TensorFlow Probability 0.6.0
- Cuda 10.0
- Cudnn 7.4.2