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-
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.
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