Skip to content

PyTorch implementation of Generative Adversarial Networks by Ian Goodfellow et al. on the MNIST dataset.

Notifications You must be signed in to change notification settings

safwankdb/Vanilla-GAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vanilla-GAN

PyTorch implementation of Generative Adversarial Networks by Ian Goodfellow et al. on the MNIST dataset.

progress

GAN Loss and training

The training of the generator and discriminator networks is based on the following MiniMax game played between the two.

minimax

The training algorithm is described in the paper as below.

minimax

Binary Cross Entropy loss was used to train both generator and discriminator. Generator was trained my maximising discriminators probability of being real on fake data instead of other way round, because as mentioned in the paper, it provides stronger gradients early.

loss_curve

Model

The generator model file is available. Load it like this

import torch

...

model = Generator()
state = torch.load('mnist_generator.pth')
model.load_state_dict(state)
model.eval()

...

References

  1. Ian Goodfellow, et al. Generative Adversarial Networks. NIPS 2014 [arxiv]
  2. Yann LeCun, et al. MNIST Database of Handwritten Digits [webpage]

About

PyTorch implementation of Generative Adversarial Networks by Ian Goodfellow et al. on the MNIST dataset.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published