Skip to content
/ swae Public

Implementation of the Sliced Wasserstein Autoencoders

Notifications You must be signed in to change notification settings

skolouri/swae

Repository files navigation

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

Releases

No releases published

Packages

No packages published