Skip to content

GAN Lab: An Interactive, Visual Experimentation Tool for Generative Adversarial Networks

License

Notifications You must be signed in to change notification settings

poloclub/ganlab

Repository files navigation

GAN Lab: An Interactive, Visual Experimentation Tool for Generative Adversarial Networks

By Minsuk Kahng, Nikhil Thorat, Polo Chau, Fernanda Viégas, and Martin Wattenberg

Overview

GAN Lab is a novel interactive visualization tool for anyone to learn and experiment with Generative Adversarial Networks (GANs), a popular class of complex deep learning models. With GAN Lab, you can interactively train GAN models for 2D data distributions and visualize their inner-workings, similar to TensorFlow Playground.

GAN Lab uses TensorFlow.js, an in-browser GPU-accelerated deep learning library. Everything, from model training to visualization, is implemented with JavaScript. Users only need a web browser like Chrome to run GAN Lab. Our implementation approach significantly broadens people's access to interactive tools for deep learning.

Screenshot of GAN Lab

Working Demo

Click the following link:

https://poloclub.github.io/ganlab/

It runs on most modern web browsers. We suggest you use Google Chrome.

Development

This section describes how you can develop GAN Lab.

Install Dependencies

Run the following commands:

$ git clone https://github.com/poloclub/ganlab.git
$ cd ganlab
$ yarn prep

It's unlikely, but you may need to install some basic JavaScript-related dependencies (e.g., yarn).

Running Your Demo

Run the following command:

$ ./scripts/watch-demo

>> Waiting for initial compile...
>> 3462522 bytes written to demo/bundle.js (2.17 seconds) at 00:00:00
>> Starting up http-server, serving ./
>> Available on:
>>   http://127.0.0.1:8080
>> Hit CTRL-C to stop the server

Then visit http://localhost:8080/demo/.

The watch-demo script monitors for changes of typescript code (e.g., demo/ganlab.ts) and compiles the code for you.

Credit

GAN Lab was created by Minsuk Kahng, Nikhil Thorat, Polo Chau, Fernanda Viégas, and Martin Wattenberg, which was the result of a research collaboration between Georgia Tech and Google Brain/PAIR. We also thank Shan Carter and Daniel Smilkov, Google Big Picture team and Google People AI Research (PAIR), and Georgia Tech Visualization Lab for their feedback.

For more information, check out our research paper:

Minsuk Kahng, Nikhil Thorat, Polo Chau, Fernanda Viégas, and Martin Wattenberg. "GAN Lab: Understanding Complex Deep Generative Models using Interactive Visual Experimentation." IEEE Transactions on Visualization and Computer Graphics, 25(1) (VAST 2018), Jan. 2019.