All Projects → reiinakano → Gan Playground

reiinakano / Gan Playground

Licence: mit
GAN Playground - Experiment with Generative Adversarial Nets in your browser. An introduction to GANs.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Gan Playground

Seq2seq Chatbot For Keras
This repository contains a new generative model of chatbot based on seq2seq modeling.
Stars: ✭ 322 (-4.17%)
Mutual labels:  gan, generative-adversarial-network
Psgan
PyTorch code for "PSGAN: Pose and Expression Robust Spatial-Aware GAN for Customizable Makeup Transfer" (CVPR 2020 Oral)
Stars: ✭ 318 (-5.36%)
Mutual labels:  gan, generative-adversarial-network
keras-3dgan
Keras implementation of 3D Generative Adversarial Network.
Stars: ✭ 20 (-94.05%)
Mutual labels:  generative-adversarial-network, gan
MNIST-invert-color
Invert the color of MNIST images with PyTorch
Stars: ✭ 13 (-96.13%)
Mutual labels:  generative-adversarial-network, gan
Alae
[CVPR2020] Adversarial Latent Autoencoders
Stars: ✭ 3,178 (+845.83%)
Mutual labels:  gan, generative-adversarial-network
TextBoxGAN
Generate text boxes from input words with a GAN.
Stars: ✭ 50 (-85.12%)
Mutual labels:  generative-adversarial-network, gan
Dcgan
The Simplest DCGAN Implementation
Stars: ✭ 286 (-14.88%)
Mutual labels:  gan, generative-adversarial-network
Deep-Exemplar-based-Video-Colorization
The source code of CVPR 2019 paper "Deep Exemplar-based Video Colorization".
Stars: ✭ 180 (-46.43%)
Mutual labels:  generative-adversarial-network, gan
UEGAN
[TIP2020] Pytorch implementation of "Towards Unsupervised Deep Image Enhancement with Generative Adversarial Network"
Stars: ✭ 68 (-79.76%)
Mutual labels:  generative-adversarial-network, gan
DLSS
Deep Learning Super Sampling with Deep Convolutional Generative Adversarial Networks.
Stars: ✭ 88 (-73.81%)
Mutual labels:  generative-adversarial-network, gan
Pytorch Srgan
A modern PyTorch implementation of SRGAN
Stars: ✭ 289 (-13.99%)
Mutual labels:  gan, generative-adversarial-network
Deep Generative Prior
Code for deep generative prior (ECCV2020 oral)
Stars: ✭ 308 (-8.33%)
Mutual labels:  gan, generative-adversarial-network
ADL2019
Applied Deep Learning (2019 Spring) @ NTU
Stars: ✭ 20 (-94.05%)
Mutual labels:  generative-adversarial-network, gan
DeepFlow
Pytorch implementation of "DeepFlow: History Matching in the Space of Deep Generative Models"
Stars: ✭ 24 (-92.86%)
Mutual labels:  generative-adversarial-network, gan
AvatarGAN
Generate Cartoon Images using Generative Adversarial Network
Stars: ✭ 24 (-92.86%)
Mutual labels:  generative-adversarial-network, gan
Makegirlsmoe web
Create Anime Characters with MakeGirlsMoe
Stars: ✭ 3,144 (+835.71%)
Mutual labels:  gan, generative-adversarial-network
GAN-auto-write
Generative Adversarial Network that learns to generate handwritten digits. (Learning Purposes)
Stars: ✭ 18 (-94.64%)
Mutual labels:  generative-adversarial-network, gan
steam-stylegan2
Train a StyleGAN2 model on Colaboratory to generate Steam banners.
Stars: ✭ 30 (-91.07%)
Mutual labels:  generative-adversarial-network, gan
ezgan
An extremely simple generative adversarial network, built with TensorFlow
Stars: ✭ 36 (-89.29%)
Mutual labels:  generative-adversarial-network, gan
Faceswap Gan
A denoising autoencoder + adversarial losses and attention mechanisms for face swapping.
Stars: ✭ 3,099 (+822.32%)
Mutual labels:  gan, generative-adversarial-network

Welcome to GAN Playground

Demo website: https://reiinakano.github.io/gan-playground

demo_screen

FAQ

What is this about?

GAN Playground lets you play around with Generative Adversarial Networks right in your browser. Currently, it contains three built-in datasets: MNIST, Fashion MNIST, and CIFAR-10.

GAN Playground provides you the ability to set your models' hyperparameters and build up your discriminator and generator layer-by-layer. You can observe the network learn in real time as the generator produces more and more realistic images, or more likely, gets stuck in failure modes such as mode collapse.

What are Generative Adversarial Networks?

From Wikipedia, "Generative Adversarial Networks, or GANs, are a class of artifical intelligence algorithms used in unsupervised machine learning, implemented by a system of two neural networks contesting with each other in a zero-sum game framework. They were introduced by Ian Goodfellow et al. in 2014."

In my own words, GANs are composed of two neural networks, each one trying to outcompete the other. The discriminator tries to figure out whether a given image is real or synthetically generated by the other neural network. The generator attempts to output images that are indistinguishable from real ones in an attempt to fool the discriminator. The hope is that the generator learns enough to create realistic images that can fool humans. If you want more information, there are tons of great resources on the internet that give a good introduction to GANs. Here's the original paper on GANs.

Why did you make this?

My hope is that this project gives beginners a bit of exposure in training GANs with as little setup as possible. The easiest way to do this is through the browser, and with deeplearn.JS, it's now finally possible. In fact, when I started this project, I didn't have any experience with GANs, and my target audience was myself!

How long should I wait / what's the best set of parameters to see realistic images?

To be honest, I'm not sure. GANs are notoriously hard to train, and even I haven't found the right set of parameters and layers for this demo that'd produce very realistic images. It's either that or I haven't waited long enough for it to train... Either way, if you do find a good set of parameters and layers, please file an issue or submit a pull request, and I'll add it to this demo.

This looks like the deeplearn.JS Model Builder demo.

Yup, this is pretty much deeplearn.JS's Model Builder demo repurposed for training GANs! I just ripped out the parts I didn't need and replaced it with the parts I do need.

Development

To run this locally, clone the project and prepare the development environment:

$ git clone https://github.com/reiinakano/gan-playground.git
$ cd gan-playground
$ npm install && bower install # Install node modules and bower components

To interactively develop the application

$ ./scripts/watch-demo src/gan-playground.ts
>> Waiting for initial compile...
>> 1023189 bytes written to src/bundle.js (0.71 seconds) at 2:20:06 AM
>> Starting up http-server, serving ./
>> Available on:
>>   http://127.0.0.1:8080
>> Hit CTRL-C to stop the server
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].