This is the Final Project for STA 663 (2020 Spring). This is a group project where two of us implemented the basic Variational Auto-encoder algorithm described in Kingma and Welling (2013). This implementation uses a Gaussian MLP encoder and a Bernoulli MLP decoder. The set up is suitable for dataset like MNIST.

We also implemented a python package. It relies on numpy, matplotlib and numba.

  • To install:

    pip install -i VAE-christineymshen

  • To use the modules:

    from VAE import VAE

Refer to this repo for examples on how to use the package and the underlying codes. Alternatively can also refer to my friend’s repo for a slightly different version of the package.

The picture used for this project in the Project page was reconstructed by our model, based on random handwritten digit images after training with the MNIST dataset.