The simple Keras implementation of ICLR 2018 paper, Spectral Normalization for Generative Adversarial Networks. [openreview][arixiv][original code(chainer)]
10epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
100epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
200epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
300epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
400epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
500epoch | with SN | without SN |
---|---|---|
With GP | ||
Without GP |
Loss | with SN | without SN |
---|---|---|
With GP | ||
Without GP |
10epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
100epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
200epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
300epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
400epoch | With SN | Without SN |
---|---|---|
With GP | ||
Without GP |
500epoch | with SN | without SN |
---|---|---|
With GP | ||
Without GP |
Loss | with SN | without SN |
---|---|---|
With GP | ||
Without GP |
- Move SpectralNormalizationKeras.py in your dir
- Import these layer class
from SpectralNormalizationKeras import DenseSN, ConvSN1D, ConvSN2D, ConvSN3D
- Use these layers in your discriminator as usual
CIFAR10 with DCGAN architecture
CIFAR10 with ResNet architecture
- Compare with WGAN-GP
- Projection Discriminator
- Thank @anshkapil pointed out and @IFeelBloated corrected this implementation.