All Projects → jonbruner → ezgan

jonbruner / ezgan

Licence: MPL-2.0 License
An extremely simple generative adversarial network, built with TensorFlow

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ezgan

ADL2019
Applied Deep Learning (2019 Spring) @ NTU
Stars: ✭ 20 (-44.44%)
Mutual labels:  generative-adversarial-network, gan
DeepFlow
Pytorch implementation of "DeepFlow: History Matching in the Space of Deep Generative Models"
Stars: ✭ 24 (-33.33%)
Mutual labels:  generative-adversarial-network, gan
srgan
Pytorch implementation of "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network"
Stars: ✭ 39 (+8.33%)
Mutual labels:  generative-adversarial-network, gan
catgan pytorch
Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial Networks
Stars: ✭ 50 (+38.89%)
Mutual labels:  generative-adversarial-network, gan
Deep-Exemplar-based-Video-Colorization
The source code of CVPR 2019 paper "Deep Exemplar-based Video Colorization".
Stars: ✭ 180 (+400%)
Mutual labels:  generative-adversarial-network, gan
Adventures-with-GANS
Showcasing various fun adventures with GANs
Stars: ✭ 13 (-63.89%)
Mutual labels:  generative-adversarial-network, gan
StyleGANCpp
Unofficial implementation of StyleGAN's generator
Stars: ✭ 25 (-30.56%)
Mutual labels:  generative-adversarial-network, gan
The Gan World
Everything about Generative Adversarial Networks
Stars: ✭ 243 (+575%)
Mutual labels:  generative-adversarial-network, gan
steam-stylegan2
Train a StyleGAN2 model on Colaboratory to generate Steam banners.
Stars: ✭ 30 (-16.67%)
Mutual labels:  generative-adversarial-network, gan
GAN-auto-write
Generative Adversarial Network that learns to generate handwritten digits. (Learning Purposes)
Stars: ✭ 18 (-50%)
Mutual labels:  generative-adversarial-network, gan
IrwGAN
Official pytorch implementation of the IrwGAN for unaligned image-to-image translation
Stars: ✭ 33 (-8.33%)
Mutual labels:  generative-adversarial-network, gan
keras-3dgan
Keras implementation of 3D Generative Adversarial Network.
Stars: ✭ 20 (-44.44%)
Mutual labels:  generative-adversarial-network, gan
Semantic Pyramid for Image Generation
PyTorch reimplementation of the paper: "Semantic Pyramid for Image Generation" [CVPR 2020].
Stars: ✭ 45 (+25%)
Mutual labels:  generative-adversarial-network, gan
MNIST-invert-color
Invert the color of MNIST images with PyTorch
Stars: ✭ 13 (-63.89%)
Mutual labels:  generative-adversarial-network, gan
Video prediction
Stochastic Adversarial Video Prediction
Stars: ✭ 247 (+586.11%)
Mutual labels:  generative-adversarial-network, gan
GAN-Project-2018
GAN in Tensorflow to be run via Linux command line
Stars: ✭ 21 (-41.67%)
Mutual labels:  generative-adversarial-network, gan
Gif
GIF is a photorealistic generative face model with explicit 3D geometric and photometric control.
Stars: ✭ 233 (+547.22%)
Mutual labels:  generative-adversarial-network, gan
Adgan
The Implementation of paper "Controllable Person Image Synthesis with Attribute-Decomposed GAN"
Stars: ✭ 239 (+563.89%)
Mutual labels:  generative-adversarial-network, gan
AdvSegLoss
Official Pytorch implementation of Adversarial Segmentation Loss for Sketch Colorization [ICIP 2021]
Stars: ✭ 24 (-33.33%)
Mutual labels:  generative-adversarial-network, gan
AvatarGAN
Generate Cartoon Images using Generative Adversarial Network
Stars: ✭ 24 (-33.33%)
Mutual labels:  generative-adversarial-network, gan

ezgan

An extremely simple generative adversarial network, built with TensorFlow. I've written it as a personal exercise to help myself grasp the basics of GANs, and hope that it might be a useful illustration.

In order to stabilize the GAN's training and accelerate the process altogether, this model uses what I'd call "guided training:" a controller in the training loop trains either the generator, the discriminator on real samples, or the discriminator on generated samples depending on which part of the model shows the greatest losses. Thus it avoids both mode collapse, which tends to arise when the generator overpowers the discriminator, as well as the opposite scenario in which the discriminator becomes highly certain and eliminates the gradient that the generator needs in order to refine its variables. All of that is possible through careful tuning of hyperparameters, but I've found this approach to be a little less painstaking.

Visit EZGAN.ipynb for a full explanation with interactive code, or run gan-controlled.py directly. Note that the Python script produces very little printed output; it sends scalar summaries and sample images to TensorBoard and saves model checkpoints every 5,000 training steps.

Both the notebook and the Python script use a clever functional approach to feeding the output of the generator into the descriminator that comes from Adit Deshpande, with whom I'm collaborating on a forthcoming O'Reilly tutorial on GANs.

This GAN generates images like these cherry-picked examples:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].