thuyngch / Variational-Autoencoder-PyTorch

PyTorch implementations of Variational Autoencoder and Conditional Variational Autoencoder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Variational-Autoencoder-PyTorch

This repository is to implement Variational Autoencoder and Conditional Autoencoder. Notebook files for training networks using Google Colab, and evaluating results are provided. Also, trained checkpoints are included.

Variational Autoencoder (VAE)

Variational Autoencoder is a specific type of Autoencoder. In which, the hidden representation (encoded vector) is forced to be a Normal distribution. As the result, by randomly sampling a vector in the Normal distribution, we can generate a new sample, which has the same distribution with the input (of the encoder of the VAE), in other word, the generated sample is realistic.

There are some results of VAE below:

accessibility text

accessibility text

accessibility text

accessibility text

Conditional Variational Autoencoder (CVAE)

One problem of VAE is generating samples without any conidtions (e.g., labels, ground truths). CVAE is to deal with this issue. The idea is suplementing an additional information (e.g., label, groundtruth) for the network so that it can learn reconstructing samples conditioned by the additional information.

There are some results of CVAE below:

accessibility text

accessibility text

accessibility text

About

PyTorch implementations of Variational Autoencoder and Conditional Variational Autoencoder


Languages

Language:Jupyter Notebook 97.4%Language:Python 2.6%