Skip to content

Latest commit

 

History

History
 
 

GAN

Generative Adversarial Networks

Reproduce the following GAN-related methods:

Please see the docstring in each script for detailed usage and pretrained models.

DCGAN-CelebA.py

Reproduce DCGAN following the setup in dcgan.torch.

  • Generated samples

sample

  • Vector arithmetic: smiling woman - neutral woman + neutral man = smiling man

vec

Image2Image.py

Image-to-Image following the setup in pix2pix.

For example, with the cityscapes dataset, it learns to generate semantic segmentation map of urban scene:

im2im

This is a visualization from tensorboard. Left to right: original, ground truth, model output.

InfoGAN-mnist.py

Reproduce the mnist experiement in InfoGAN. It assumes 10 latent variables corresponding to a categorical distribution, 2 latent variables corresponding to a uniform distribution. It then maximizes mutual information between these latent variables and the image, and learns interpretable latent representation.

infogan

  • Left: 10 latent variables corresponding to 10 digits.
  • Middle: 1 continuous latent variable controlled the rotation.
  • Right: another continuous latent variable controlled the thickness.

ConditionalGAN-mnist.py

Train a simple GAN on mnist, conditioned on the class labels.

WGAN-CelebA.py

Reproduce Wasserstein GAN by some small modifications on DCGAN-CelebA.py.