SN-GAN (spectral normalization GAN) in PyTorch

February 15, 2018 ยท View on GitHub

Based on the paper "Spectral Normalization for Generative Adversarial Networks" by Takeru Miyato, Toshiki Kataoka, Masanori Koyama, Yuichi Yoshida

ICLR 2018 preprint: https://openreview.net/forum?id=B1QRgziT-

CIFAR-10 Samples

with spectral normalization

Implementation Details

This code implements both DCGAN-like and ResNet GAN architectures. In addition, training with standard, Wasserstein, and hinge losses is possible.

To get ResNet working, initialization (Xavier/Glorot) turned out to be very important.

Training

Train ResNet generator and discriminator with hinge loss: python main.py --model resnet --loss hinge

Train ResNet generator and discriminator with wasserstein loss: python main.py --model resnet --loss wasserstein

Train DCGAN generator and discriminator with cross-entropy loss: python main.py --model dcgan --loss bce