Skip to main content

A Python package to run WizMap in your computational notebooks.

Project description

WizMap

build license npm pypi colab Binder arxiv badge

Exploring and interpreting large embeddings in your browser!

🚀 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 git@github.com: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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wizmap-0.1.2.tar.gz (405.3 kB view hashes)

Uploaded Source

Built Distribution

wizmap-0.1.2-py2.py3-none-any.whl (410.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page