• Stars
    star
    375
  • Rank 111,728 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 1 year ago
  • Updated 5 months ago

Reviews

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

Repository Details

Explore and interpret large embeddings in your browser with interactive visualization! πŸ“

WizMap

build license npm pypi colab Binder arxiv badge

Exploring and interpreting large embeddings in your browser!

wizmap.mp4
πŸš€ Live Demo πŸ“Ί Demo Video πŸ“– Research Paper

What is WizMap?

WizMap is a scalable interactive visualization tool to help you easily explore large machine learning embeddings. With a novel multi-resolution embedding summarization method and a familiar map-like interaction design, WizMap allows you to navigate and interpret embedding spaces with ease.

βœ… Scalable to millions of embedding point
βœ… Multi-resolution embedding summaries
βœ… Fast embedding search
βœ… Multimodal data (text and image)
βœ… Animated embedding evolution
βœ… Support computational notebooks (e.g., Jupyter, Colab, VS Code)
βœ… Sharable URLs

WizMap Gallery

DiffusionDB Prompts + Images ACL Paper Abstracts IMDB Review Comments
1.8M text + 1.8M images 63k text 25k text
CLIP Embedding all-MiniLM-L6-v2 Embedding all-MiniLM-L6-v2 Embedding

Submit a PR to add your WizMap here! You can share your WizMap using a unique URL.

Web Demo

For a live web demo, visit: https://poloclub.github.io/wizmap.

Get Started

Clone or download this repository:

git clone [email protected]:poloclub/wizmap.git

Install the dependencies:

npm install

Then run WizMap:

npm run dev

Navigate to localhost:3000. You should see WizMap running in your browser :)

Use My Own Embeddings

To use WizMap with your embeddings, you first need to install the wizmap Python library.

pip install wizmap

Then take a look at this notebook for a detailed guide. Spoiler alert: You'll be up and running with just two function calls from the wizmap library. These two JSON files contain pre-computed embedding summaries, distributions, and the original embedding data.

After generating the JSON files, you have two options to use WizMap.

  1. Browser: You can click the folder icon on the bottom right of the WizMap demo and enter the URLs to the JSON files in the pop-up window.
  2. Notebook: If you are familiar with computational notebooks (e.g., Jupyter Notebook, VSCode Notebook, Colab), you can directly use WizMap in your favorite notebook platform with wizmap.visualize().

Share My WizMap

You can easily share your embedding maps with collaborators by copying the unique URL of WizMap from your browser. For example, the URL below points to an IMDB embedding in WizMap.

https://poloclub.github.io/wizmap/?dataURL=https%3A%2F%2Fhuggingface.co%2Fdatasets%2Fxiaohk%2Fembeddings%2Fresolve%2Fmain%2Fimdb%2Fdata.ndjson&gridURL=https%3A%2F%2Fhuggingface.co%2Fdatasets%2Fxiaohk%2Fembeddings%2Fresolve%2Fmain%2Fimdb%2Fgrid.json

Credits

WizMap is created by Jay Wang, Fred Hohman, and Polo Chau.

Citation

To learn more about WizMap, please read our research paper (published at ACL'23 System Demonstration).

@article{wangWizMapScalableInteractive2023,
  title = {{{WizMap}}: {{Scalable Interactive Visualization}} for {{Exploring Large Machine Learning Embeddings}}},
  shorttitle = {{{WizMap}}},
  author = {Wang, Zijie J. and Hohman, Fred and Chau, Duen Horng},
  year = {2023},
  url = {http://arxiv.org/abs/2306.09328},
  urldate = {2023-06-16},
  archiveprefix = {arxiv},
  journal = {arXiv 2306.09328}
}

License

The software is available under the MIT License.

Contact

If you have any questions, feel free to open an issue or contact Jay Wang.

More Repositories

1

cnn-explainer

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

ganlab

GAN Lab: An Interactive, Visual Experimentation Tool for Generative Adversarial Networks
JavaScript
1,372
star
3

diffusiondb

A large-scale text-to-image prompt gallery dataset based on Stable Diffusion
Python
1,133
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