• Stars
    star
    400
  • Rank 107,843 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 2 years ago
  • Updated 10 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,942
star
2

transformer-explainer

Transformer Explained Visually: Learn How LLM Transformer Models Work with Interactive Visualization
JavaScript
2,466
star
3

ganlab

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

diffusiondb

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

dodrio

Exploring attention weights in transformer-based models with linguistic knowledge.
Svelte
342
star
6

unitable

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

awesome-grad-school

🎓 Advice and resources for thriving and surviving graduate school
Makefile
318
star
8

diffusion-explainer

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

wordflow

Social and customizable AI writing assistant! ✍️
TypeScript
173
star
10

timbertrek

Explore and compare 1K+ accurate decision trees in your browser!
TypeScript
136
star
11

argo-graph-lite

Interactive Graph Visualization in Your Browser
JavaScript
110
star
12

jpeg-defense

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

interactive-classification

Interactive Classification for Deep Learning Interpretation
JavaScript
76
star
14

ClickDiffusion

ClickDiffusion: Harnessing LLMs for Interactive Precise Image Editing
Python
64
star
15

supernova

Explore 160+ notebook visual analytics tools in your browser!
SCSS
61
star
16

argo-scholar

Literature Review Made Easy with Visualization
JavaScript
55
star
17

magic-crop

Crop your perfect headshot with AI!
JavaScript
53
star
18

webshap

JavaScript library to explain any machine learning models anywhere!
TypeScript
50
star
19

people-map

Visualization Tool for Mapping Out Researchers using Natural Language Processing
Python
50
star
20

mememo

A JavaScript library that brings vector search and RAG to your browser!
TypeScript
47
star
21

tsr-convstem

High-Performance Transformers for Table Structure Recognition Need Early Convolutions
Python
37
star
22

FairVis

FairVis: Visual Analytics for Discovering Intersectional Bias in Machine Learning
JavaScript
35
star
23

nova

Simple method to create notebook-ready visual analytics tools!
CSS
28
star
24

LLM-Attributor

LLM Attributor: Attribute LLM's Generated Text to Training Data
Jupyter Notebook
25
star
25

llm-self-defense

LLM Self Defense: By Self Examination, LLMs know they are being tricked
Python
25
star
26

bluff

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

visual-auditor

Interactive scalable auditing of model biases and vulnerabilities with interpretable mitigation
Jupyter Notebook
20
star
28

argo-graph

Cross-platform Interactive Large Graph Visualization tool using Web Technologies
JavaScript
19
star
29

gam-coach

Personal coach to help you obtain desired AI decisions!
JavaScript
17
star
30

robust-principles

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

neuro-cartography

Scalable Automatic Visual Summarization of Concepts in Deep Neural Networks
Jupyter Notebook
15
star
32

Fine-tuning-LLMs

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

CardiacAR

Mobile Augmented Reality for Cardiovascular Surgical Planning
Swift
12
star
34

visgrader

Automatic Grading for D3 Visualizations
Jupyter Notebook
10
star
35

revamp

Automated Simulations of Adversarial Attacks on Arbitrary Objects in Realistic Scenes
Jupyter Notebook
10
star
36

EnergyVis

JavaScript
8
star
37

telegam

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

wordflow-doc

AI Writing Assistant Google Doc Add-on
JavaScript
6
star
39

VisCUIT

JavaScript
6
star
40

RECAST

Svelte
5
star
41

NeuroMapper

JavaScript
5
star
42

detector-detective

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

ConceptEvo

Jupyter Notebook
3
star
44

arcollab

ARCollab is a multi-user surgical planning tool in mobile AR aimed to enhance collaboration between surgeons and cardiologists.
Swift
3
star
45

skeletricks

Jupyter Notebook
2
star
46

diffusiondb-thumbnails

1.8 million image thumbnails sampled from DiffusionDB
2
star
47

argo-graph-share

A sample configuration of Argo Lite's Strapi sharing service
JavaScript
1
star
48

MisVis

JavaScript
1
star
49

wordflow-addon

Wordflow Google Doc Add-on Homepage
HTML
1
star
50

schedule-emails-on-mac

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