All Projects → hwalsuklee → tensorflow-mnist-AAE

hwalsuklee / tensorflow-mnist-AAE

Licence: other
Tensorflow implementation of adversarial auto-encoder for MNIST

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to tensorflow-mnist-AAE

adversarial-autoencoder
Tensorflow 2.0 implementation of Adversarial Autoencoders
Stars: ✭ 17 (-80.23%)
Mutual labels:  mnist, autoencoder, adversarial-autoencoders
Tensorflow Mnist Vae
Tensorflow implementation of variational auto-encoder for MNIST
Stars: ✭ 422 (+390.7%)
Mutual labels:  mnist, autoencoder, vae
Pytorch Mnist Vae
Stars: ✭ 32 (-62.79%)
Mutual labels:  mnist, autoencoder, vae
Tensorflow Mnist Cvae
Tensorflow implementation of conditional variational auto-encoder for MNIST
Stars: ✭ 139 (+61.63%)
Mutual labels:  mnist, autoencoder, vae
Tensorflow Generative Model Collections
Collection of generative models in Tensorflow
Stars: ✭ 3,785 (+4301.16%)
Mutual labels:  mnist, vae
Cifar-Autoencoder
A look at some simple autoencoders for the Cifar10 dataset, including a denoising autoencoder. Python code included.
Stars: ✭ 42 (-51.16%)
Mutual labels:  mnist, autoencoder
precision-recall-distributions
Assessing Generative Models via Precision and Recall (official repository)
Stars: ✭ 80 (-6.98%)
Mutual labels:  vae, adversarial-networks
catseye
Neural network library written in C and Javascript
Stars: ✭ 29 (-66.28%)
Mutual labels:  mnist, autoencoder
Generative Models
Comparison of Generative Models in Tensorflow
Stars: ✭ 96 (+11.63%)
Mutual labels:  mnist, vae
Gpnd
Generative Probabilistic Novelty Detection with Adversarial Autoencoders
Stars: ✭ 112 (+30.23%)
Mutual labels:  mnist, autoencoder
Vq Vae
Minimalist implementation of VQ-VAE in Pytorch
Stars: ✭ 224 (+160.47%)
Mutual labels:  mnist, vae
haskell-vae
Learning about Haskell with Variational Autoencoders
Stars: ✭ 18 (-79.07%)
Mutual labels:  mnist, autoencoder
Tensorflow Tutorials
텐서플로우를 기초부터 응용까지 단계별로 연습할 수 있는 소스 코드를 제공합니다
Stars: ✭ 2,096 (+2337.21%)
Mutual labels:  mnist, autoencoder
Tf Vqvae
Tensorflow Implementation of the paper [Neural Discrete Representation Learning](https://arxiv.org/abs/1711.00937) (VQ-VAE).
Stars: ✭ 226 (+162.79%)
Mutual labels:  mnist, vae
Disentangling Vae
Experiments for understanding disentanglement in VAE latent representations
Stars: ✭ 398 (+362.79%)
Mutual labels:  mnist, vae
VAE-Gumbel-Softmax
An implementation of a Variational-Autoencoder using the Gumbel-Softmax reparametrization trick in TensorFlow (tested on r1.5 CPU and GPU) in ICLR 2017.
Stars: ✭ 66 (-23.26%)
Mutual labels:  mnist, vae
Srl Zoo
State Representation Learning (SRL) zoo with PyTorch - Part of S-RL Toolbox
Stars: ✭ 125 (+45.35%)
Mutual labels:  autoencoder, vae
Adversarial Autoencoders
Tensorflow implementation of Adversarial Autoencoders
Stars: ✭ 215 (+150%)
Mutual labels:  autoencoder, adversarial-networks
Awesome Tensorlayer
A curated list of dedicated resources and applications
Stars: ✭ 248 (+188.37%)
Mutual labels:  mnist, autoencoder
Vae Cvae Mnist
Variational Autoencoder and Conditional Variational Autoencoder on MNIST in PyTorch
Stars: ✭ 229 (+166.28%)
Mutual labels:  mnist, vae

Adversarial Auto-Encoder for MNIST

An implementation of adversarial auto-encoder (AAE) for MNIST descripbed in the paper:

Implementation Details

The paper suggest various ways of using AAE.

  • Basic AAE
  • Incorporatiing Label Information in the Adversarial Regularization
  • Supervised AAE
  • Semi-supervised AAE
  • Unsupervised Clustering with AAE
  • Dimensionality Reduction with AAE

Only results on 'Incorporatiing Label Information in the Adversarial Regularization' are given here.

Target Distributions

Three types of prior distrubtion are considered.

  • a mixture of 10 2-D Gaussians
  • a swiss roll distribution
  • a normal distribution : not suggested in the paper.

The following graphs can be obtained with command:

python test_prior_type.py --prior_type <type>
mixGaussian swiss_roll normal

Results

Leveraging label information to better regularize the hidden code in Figure 4 in the paper.

Prior distribution type : a mixture of 10 2-D Gaussians

The following results can be reproduced with command:

python run_main.py --prior_type mixGaussian
Learned MNIST manifold (20 Epochs) Distribution of labeled data (20 Epochs)

Prior distribution type : a swiss roll distribution

The following results can be reproduced with command:

python run_main.py --prior_type swiss_roll
Learned MNIST manifold (20 Epochs) Distribution of labeled data (20 Epochs)

Prior distribution type : a normal distribution (not suggested in the paper)

The following results can be reproduced with command:

python run_main.py --prior_type normal
Learned MNIST manifold (20 Epochs) Distribution of labeled data (20 Epochs)

Usage

Prerequisites

  1. Tensorflow
  2. Python packages : numpy, scipy, PIL(or Pillow), matplotlib

Command

python run_main.py --prior_type <type>

Arguments

Required :

  • --prior_type: The type of prior distrubition. Choices: mixGaussian, swiss_roll, normal. Default: mixGaussian

Optional :

  • --results_path: File path of output images. Default: results
  • --n_hidden: Number of hidden units in MLP. Default: 1000
  • --learn_rate: Learning rate for Adam optimizer. Default: 1e-3
  • --num_epochs: The number of epochs to run. Default: 20
  • --batch_size: Batch size. Default: 128
  • --PRR: Boolean for plot-reproduce-result. Default: True
  • --PRR_n_img_x: Number of images along x-axis. Default: 10
  • --PRR_n_img_y: Number of images along y-axis. Default: 10
  • --PRR_resize_factor: Resize factor for each displayed image. Default: 1.0
  • --PMLR: Boolean for plot-manifold-learning-result. Default: True
  • --PMLR_n_img_x: Number of images along x-axis. Default: 15
  • --PMLR_n_img_y: Number of images along y-axis. Default: 15
  • --PMLR_resize_factor: Resize factor for each displayed image. Default: 1.0
  • --PMLR_z_range: Range for unifomly distributed latent vector. Default: 3.0
  • --PMLR_n_samples: Number of samples in order to get distribution of labeled data. Default: 10000

Acknowledgements

This implementation has been tested with Tensorflow 1.2.1 on Windows 10.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].