Implementation of the Sliced Wasserstein Autoencoders
Clone or download
skolouri Updated README.md
Added link to the PyTorch implementation of the algorithm.
Latest commit d82e84a Jun 6, 2018

README.md

SlicedWassersteinAE

This repository contains the implementation of our paper: "Sliced-Wasserstein Autoencoder: An Embarrassingly Simple Generative Model" using Keras and Tensorflow. The proposed method ameliorates the need for adversarial networks in training generative models, and it provides a stable optimization while having a very simple implementation.

A PyTorch implementation of the SWAE algorithm was kindly provided by Emmanuel Fuentes.

SWAE_MNIST_uniform.ipynb

This notebook trains the SWAE on the MNIST dataset with a uniform distribution in the embedding space. The figure below visualizes the embedded data and the embedding space for the MNIST dataset:

SWAE_MNIST_Circle.ipynb

Similarly, this notebook trains the SWAE on the MNIST dataset with a disk distribution in the embedding space. The figure below visualizes the embedded data and the embedding space for the MNIST dataset:

SWAE_MNIST_Ring.ipynb

Similarly, this notebook trains the SWAE on the MNIST dataset with a ring distribution in the embedding space. The figure below visualizes the embedded data and the embedding space for the MNIST dataset:

Pretrained Models

The pretrained SWAE modules are also uploaded:

  • LearnedModels/MNIST_uniform(circle)(ring)_autoencoder.h5
  • LearnedModels/MNIST_uniform(circle)(ring)_encoder.h5
  • LearnedModels/MNIST_uniform(circle)(ring)_decoder.h5