tf-generative icon indicating copy to clipboard operation
tf-generative copied to clipboard

TensorFlow implementation of deep generative models, such as VAEs and GANs.

TensorFlow VAEs and GANs

TensorFlow implementation of various deep generative networks such as VAE and GAN.

Models

Standard models

  • Variational autoencoder (VAE) [Kingma et al. 2013]
  • Generative adversarial network (GAN or DCGAN) [Goodfellow et al. 2014]

Conditional models

  • Conditional variational autoencoder [Kingma et al. 2014]
  • CVAE-GAN [Bao et al. 2017]

Usage

Prepare datasets

MNIST and SVHN

MNIST and SVHN datasets are automatically downloaded from their websites.

CelebA

First, download img_align_celeba.zip and list_attr_celeba.txt from CelebA webpage. Then, place these files to datasets and run create_database.py on databsets directory.

Training

# Both standard and conditional models are available!
python train.py --model=dcgan --epoch=200 --batchsize=100 --output=output

TensorBoard is also available with the following script.

tensorboard --logdir="output/dcgan/log"

Results

DCGAN (for SVHN 50 epochs)

CVAE-GAN (for SVHN 50 epochs)

References

  • Kingma et al., "Auto-Encoding Variational Bayes", arXiv preprint 2013.
  • Goodfellow et al., "Generative adversarial nets", NIPS 2014.
  • Kingma et al., "Semi-supervised learning with deep generative models", NIPS 2014.
  • Bao et al., "CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training", arXiv preprint 2017.