• Stars
    star
    507
  • Rank 87,068 (Top 2 %)
  • Language
    Python
  • Created over 7 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pytorch implementation of Generative Adversarial Networks (GAN) and Deep Convolutional Generative Adversarial Networks (DCGAN) for MNIST and CelebA datasets

pytorch-MNIST-CelebA-GAN-DCGAN

Pytorch implementation of Generative Adversarial Networks (GAN) [1] and Deep Convolutional Generative Adversarial Networks (DCGAN) [2] for MNIST [3] and CelebA [4] datasets.

  • If you want to train using cropped CelebA dataset, you have to change isCrop = False to isCrop = True.

  • you can download

  • pytorch_CelebA_DCGAN.py requires 64 x 64 size image, so you have to resize CelebA dataset (celebA_data_preprocess.py).

  • pytorch_CelebA_DCGAN.py added learning rate decay code.

Implementation details

  • GAN

GAN

  • DCGAN

Loss

Resutls

MNIST

  • Generate using fixed noise (fixed_z_)
GAN DCGAN
  • MNIST vs Generated images
MNIST GAN after 100 epochs DCGAN after 20 epochs
  • Training loss

    • GAN Loss
  • Learning Time

    • MNIST DCGAN - Avg. per epoch: 197.86 sec; (if you want to reduce learning time, you can change 'generator(128)' and 'discriminator(128)' to 'generator(64)' and 'discriminator(64)' ... then Avg. per epoch: about 67sec in my development environment.)

CelebA

  • Generate using fixed noise (fixed_z_)
DCGAN DCGAN crop
  • CelebA vs Generated images
CelebA DCGAN after 20 epochs DCGAN crop after 30 epochs
  • Learning Time
    • CelebA DCGAN - Avg. per epoch: 732.54 sec; total 20 epochs ptime: 14744.66 sec

Development Environment

  • Ubuntu 14.04 LTS
  • NVIDIA GTX 1080 ti
  • cuda 8.0
  • Python 2.7.6
  • pytorch 0.1.12
  • torchvision 0.1.8
  • matplotlib 1.3.1
  • imageio 2.2.0
  • scipy 0.19.1

Reference

[1] Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014.

(Full paper: http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf)

[2] Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015).

(Full paper: https://arxiv.org/pdf/1511.06434.pdf)

[3] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. "Gradient-based learning applied to document recognition." Proceedings of the IEEE, 86(11):2278-2324, November 1998.

[4] Liu, Ziwei, et al. "Deep learning face attributes in the wild." Proceedings of the IEEE International Conference on Computer Vision. 2015.

More Repositories

1

pytorch-generative-model-collections

Collection of generative models in Pytorch version.
Python
2,588
star
2

UGATIT-pytorch

Official PyTorch implementation of U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation
Python
2,508
star
3

pytorch-MNIST-CelebA-cGAN-cDCGAN

Pytorch implementation of conditional Generative Adversarial Networks (cGAN) and conditional Deep Convolutional Generative Adversarial Networks (cDCGAN) for MNIST dataset
Python
482
star
4

pytorch-CartoonGAN

Pytorch implementation of CartoonGAN (CVPR 2018)
Python
388
star
5

tensorflow-MNIST-GAN-DCGAN

Tensorflow implementation of Generative Adversarial Networks (GAN) and Deep Convolutional Generative Adversarial Netwokrs for MNIST dataset.
Python
175
star
6

tensorflow-MNIST-cGAN-cDCGAN

Tensorflow implementation of conditional Generative Adversarial Networks (cGAN) and conditional Deep Convolutional Adversarial Networks (cDCGAN) for MANIST dataset.
Python
147
star
7

pytorch-pix2pix

Pytorch implementation of pix2pix for various datasets.
Python
119
star
8

pytorch-Conditional-image-to-image-translation

Pytorch implementation of Conditional image-to-image translation (CVPR 2018)
Python
48
star
9

pytorch-apex-experiment

Simple experiment of Apex (A PyTorch Extension)
Python
47
star
10

pytorch-CycleGAN

Pytorch implementation of CycleGAN.
Python
40
star
11

FUNIT-pytorch

Pytorch implementation of "Few-Shot Unsupervised Image-to-Image Translation" (ICCV 2019)
Python
36
star
12

tensorflow-pix2pix

Tensorflow implementation of pix2pix for various datasets.
Python
6
star