Skip to content

A walkthrough/tutorial for you to implement your own miniature variational auto-encoder (VAE) library

License

Notifications You must be signed in to change notification settings

00mjk/vae-tutorial

 
 

Repository files navigation

VAE Tutorial

This repository contains a series of small exercises to walk you, dear reader, through some of the core concepts of Variational Auto-Encoders (VAEs) by having you implement your own miniature VAE library in Keras. Completing this tutorial will give you a better understanding not only of how probabilistic deep-learning libraries like Edward, PyRo, ZhuSuan, or others work under the hood, but also of how to write custom extensions in Keras in general.

Pre-requisites


Setup

Since the data/ directory and visualize.py are shared by all exercises, start by putting the project's root directory in your PYTHONPATH (this will allow other scripts to do from data import ... from within other directories). In a terminal, run

export PYTHONPATH=$PWD:$PYTHONPATH

Next, use virtualenv to create a python environment and install the necessary dependencies (solutions were written in Python 3.5 but should work in Python 2.7):

virtualenv vae-tutorial
pip install -r requirements.txt

Organization

This tutorial is broken into a series of ordered "exercises," each building on the previous. In the solutions/ directory, each solution's source files build on the previous ones by only a small "diff". Each exercise contains an "instructions.md" file outlining what you need to implement and giving helpful tips. These are best viewed in-browser - click here to go to exercise 01.

Each exercise contains # YOUR CODE HERE comments across various files indicating parts you must implement.

About

A walkthrough/tutorial for you to implement your own miniature variational auto-encoder (VAE) library

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%