• Stars
    star
    1,372
  • Rank 33,474 (Top 0.7 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

cnn-explainer

Learning Convolutional Neural Networks with Interactive Visualization.
JavaScript
7,525
star
2

diffusiondb

A large-scale text-to-image prompt gallery dataset based on Stable Diffusion
Python
1,133
star
3

wizmap

Explore and interpret large embeddings in your browser with interactive visualization! 📍
TypeScript
375
star
4

dodrio

Exploring attention weights in transformer-based models with linguistic knowledge.
Svelte
329
star
5

awesome-grad-school

🎓 Advice and resources for thriving and surviving graduate school
Makefile
272
star
6

unitable

UniTable: Towards a Unified Table Foundation Model
Jupyter Notebook
226
star
7

wordflow

Social and customizable AI writing assistant! ✍️
TypeScript
151
star
8

diffusion-explainer

Diffusion Explainer: Visual Explanation for Text-to-image Stable Diffusion
JavaScript
135
star
9

timbertrek

Explore and compare 1K+ accurate decision trees in your browser!
TypeScript
126
star
10

argo-graph-lite

Interactive Graph Visualization in Your Browser
JavaScript
101
star
11

jpeg-defense

SHIELD: Fast, Practical Defense and Vaccination for Deep Learning using JPEG Compression
Python
81
star
12

interactive-classification

Interactive Classification for Deep Learning Interpretation
JavaScript
76
star
13

ClickDiffusion

Python
58
star
14

supernova

Explore 160+ notebook visual analytics tools in your browser!
SCSS
55
star
15

magic-crop

Crop your perfect headshot with AI!
JavaScript
53
star
16

webshap

JavaScript library to explain any machine learning models anywhere!
TypeScript
48
star
17

argo-scholar

Literature Review Made Easy with Visualization
JavaScript
46
star
18

people-map

Visualization Tool for Mapping Out Researchers using Natural Language Processing
Python
44
star
19

tsr-convstem

High-Performance Transformers for Table Structure Recognition Need Early Convolutions
Python
33
star
20

FairVis

FairVis: Visual Analytics for Discovering Intersectional Bias in Machine Learning
JavaScript
32
star
21

nova

Simple method to create notebook-ready visual analytics tools!
CSS
26
star
22

bluff

Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks
Jupyter Notebook
22
star
23

visual-auditor

Interactive scalable auditing of model biases and vulnerabilities with interpretable mitigation
Jupyter Notebook
17
star
24

argo-graph

Cross-platform Interactive Large Graph Visualization tool using Web Technologies
JavaScript
17
star
25

gam-coach

Personal coach to help you obtain desired AI decisions!
JavaScript
16
star
26

robust-principles

Robust Principles: Architectural Design Principles for Adversarially Robust CNNs
Python
16
star
27

neuro-cartography

Scalable Automatic Visual Summarization of Concepts in Deep Neural Networks
Jupyter Notebook
13
star
28

CardiacAR

Mobile Augmented Reality for Cardiovascular Surgical Planning
Swift
11
star
29

LLM-Attributor

Jupyter Notebook
11
star
30

llm-self-defense

LLM Self Defense: By Self Examination, LLMs know they are being tricked
Python
11
star
31

visgrader

Automatic Grading for D3 Visualizations
Jupyter Notebook
10
star
32

mememo

A JavaScript library that brings vector search and RAG to your browser!
TypeScript
9
star
33

revamp

Automated Simulations of Adversarial Attacks on Arbitrary Objects in Realistic Scenes
Jupyter Notebook
9
star
34

Fine-tuning-LLMs

Finetune Llama 2 on Colab for free on your own data: step-by-step tutorial
Jupyter Notebook
8
star
35

EnergyVis

JavaScript
7
star
36

telegam

TeleGam: Combining Visualization and Verbalization for Interpretable Machine Learning
JavaScript
7
star
37

VisCUIT

JavaScript
6
star
38

RECAST

Svelte
4
star
39

wordflow-doc

AI Writing Assistant Google Doc Add-on
JavaScript
4
star
40

NeuroMapper

JavaScript
4
star
41

ConceptEvo

Jupyter Notebook
3
star
42

detector-detective

DetectorDetective: Investigating the Effects of Adversarial Examples on Object Detectors
Jupyter Notebook
3
star
43

skeletricks

Jupyter Notebook
2
star
44

diffusiondb-thumbnails

1.8 million image thumbnails sampled from DiffusionDB
2
star
45

MisVis

JavaScript
1
star
46

wordflow-addon

Wordflow Google Doc Add-on Homepage
HTML
1
star
47

schedule-emails-on-mac

How to Schedule Emails on Mac: Write Emails in Mail and Send Them Later
AppleScript
1
star