pytorch_gan icon indicating copy to clipboard operation
pytorch_gan copied to clipboard

Spectral Normalization and Projection Discriminator

Spectral Normalization and Projection Discriminator(Pytorch)

This project attempts to reproduce the results from "Spectral Normalization for Generative Adversarial Networks" by Takeru Miyato, Toshiki Kataoka, Masanori Koyama, Yuichi Yoshida. The Official Chainer implementation link

Setup:

pip install pytorch pyyaml

Training(cifar10):

python train.py --config_path configs/sn_cifar10_conditional.yml --batch_size 64

Evaluation:

Inception Score:

python eval.py --config_path configs/sn_cifar10_conditional.yml --model_path=/path/to/model

Generate Samples:

python generate.py --config_path configs/sn_cifar10_conditional.yml --model_path=/path/to/model

32x32 Image Samples

model download

64x64 Dog Samples

model download

Notes

The Inception Score of PyTorch implementation is roughly 1.57 less than tf implementation. The inception score of my implementation is 6.63 which is matched the claim(8.22 - 1.57) from the origin paper. from A Note on the Inception Score

References

  • Takeru Miyato, Toshiki Kataoka, Masanori Koyama, Yuichi Yoshida. Spectral Normalization for Generative Adversarial Networks. ICLR2018. [OpenReview][sngans]
  • Takeru Miyato, Masanori Koyama. cGANs with Projection Discriminator. ICLR2018. [OpenReview][pcgans]