Renumics Spotlight
Data curation tool for your modular ML stack.
Documentation • Playbook • Blog • API Reference
Spotlight helps you to identify critical data segments and model failure modes. It enables you to build and maintain reliable machine learning models by curating high-quality datasets.
🚀 Introduction
Spotlight is built on the idea that you can only truly understand unstructured datasets if you can interactively explore them. Its core principle is to identify and fix critical data segments by leveraging data enrichments (e.g. features, embeddings, uncertainties). Pre-defined templates for typical data curation workflows get you started quickly and connect your stack to the data-centric AI ecosystem.
We at Renumics are building Spotlight for cross-functional teams who want to be in control of their data and data curation processes. Currently, Spotlight supports many use cases based on image, audio, video and time series data.
⏱️ Quickstart
Get started by installing Spotlight and loading your first dataset.
What you'll need
- Python version 3.8-3.11
pip
Install Spotlight viapip install renumics-spotlight
We recommend installing Spotlight and everything you need to work on your data in a separate virtual environment.
Load a dataset and start exploring
import pandas as pd
from renumics import spotlight
df = pd.read_csv("https://renumics.com/data/mnist/mnist-tiny.csv")
spotlight.show(df, dtype={"image": spotlight.Image, "embedding": spotlight.Embedding})
pd.read_csv
loads a sample csv file as a pandas DataFrame.
spotlight.show
opens up spotlight in the browser with the pandas dataframe ready for you to explore. The dtype
argument specifies custom column types for the browser viewer.
Hugging Face image dataset
Load aimport datasets
from renumics import spotlight
dataset = datasets.load_dataset("olivierdehaene/xkcd", split="train")
df = dataset.to_pandas()
spotlight.show(df, dtype={"image_url": spotlight.Image})
The
datasets
package can be installed via pip.
Hugging Face audio dataset with embeddings and a pre-defined layout
Load aimport datasets
from renumics import spotlight
dataset = datasets.load_dataset("renumics/dcase23-task2-enriched", "dev", split="all", streaming=False)
df = dataset.to_pandas()
simple_layout = datasets.load_dataset_builder("renumics/dcase23-task2-enriched", "dev").config.get_layout(config="simple")
spotlight.show(df, dtype={'path': spotlight.Audio, "embeddings_ast-finetuned-audioset-10-10-0.4593": spotlight.Embedding}, layout=simple_layout)
The
datasets[audio]
package can be installed via pip.
🧭 Start with example workflows
You can adapt Spotlight to your data curation tasks. To get you started quickly, we are continuously developing pre-defined plays for common workflows.
Rookie plays
- Create embeddings with Huggingface
- Create embeddings with towhee
- Extract decision boundary based on probability ratios
Veteran plays
- Detect duplicates with Annoy
- Detect leakage with Annoy
- Detect data drift
- Detect label errors
- Detect outliers
- Detect image error patterns
Tell us which data curation task is important for your work:
- Open an issue on Github
- Have a coffee talk with us
- Join our channel on Discord