This is an implementation of Wasserstein GANs with gradient penalty.
Link to the paper is : https://arxiv.org/pdf/1704.00028.pdf
Wasserstein GANs use the Earth mover distance instead of TV or JS divergence or KL divergence.
The weaker the distance, the better is the convergence of GANs.
The other distances mentioned failed in the case of low dimensional manifolds where the distributions may have very little common projection space.
The mathematical details of the advantages of this distance can be read here : https://arxiv.org/pdf/1701.07875.pdf
The WGAN paper uses RMSprop for optimization and weight clipping to enforce a Lipschitz condition but in WGAN-GP, gradient penalty enforces the Lipschitz and they succefully trained the model using Adam as discussed in detail in the paper.
Any image set of size 64x64 can be put in a folder and placed in the images folder. The noise dimension is set to 100 as suggested in the paper but one should feel free to play with the parameters like z_dim, n_critic. Further use of a an optimizer with beta1=0 like RMSprop helps improve results in some cases.