Skip to main content

Interactive Evaluation Framework for Machine Learning

Project description

PyPI version Github Actions CI tests MIT license DOI Discord

Zeno is a general-purpose framework for evaluating machine learning models. It combines a Python API with an interactive UI to allow users to discover, explore, and analyze the performance of their models across diverse use cases. Zeno can be used for any data type or task with modular views for everything from object detection to audio transcription.

Demos

Image Classification Audio Transcription Image Generation Dataset Chatbot Sensor Classification
Imagenette Speech Accent Archive DiffusionDB LangChain + Notion MotionSense
Try with Zeno Try with Zeno Try with Zeno Try with Zeno Try with Zeno
code code code code code

https://user-images.githubusercontent.com/4563691/220689691-1ad7c184-02db-4615-b5ac-f52b8d5b8ea3.mp4

Quickstart

Install the Zeno Python package from PyPI:

pip install zenoml

Command Line

To get started, run the following command to initialize a Zeno project. It will walk you through creating the zeno.toml configuration file:

zeno init

Take a look at the configuration documentation for additional toml file options like adding model functions.

Start Zeno with zeno zeno.toml.

Jupyter Notebook

You can also run Zeno directly from Jupyter notebooks or lab. The zeno command takes a dictionary of configuration options as input. See the docs for a full list of options. In this example we pass the minimum options for exploring a non-tabular dataset:

import pandas as pd
from zeno import zeno

df = pd.read_csv("/path/to/metadata/file.csv")

zeno({
    "metadata": df, # Pandas DataFrame with a row for each instance
    "view": "audio-transcription", # The type of view for this data/task
    "data_path": "/path/to/raw/data/", # The folder with raw data (images, audio, etc.)
    "data_column": "id" # The column in the metadata file that contains the relative paths of files in data_path
})

You can pass a list of decorated function references directly Zeno as you add models and metrics.

Citation

Please reference our CHI'23 paper

@inproceedings{cabrera23zeno,
  author = {Cabrera, Ángel Alexander and Fu, Erica and Bertucci, Donald and Holstein, Kenneth and Talwalkar, Ameet and Hong, Jason I. and Perer, Adam},
  title = {Zeno: An Interactive Framework for Behavioral Evaluation of Machine Learning},
  year = {2023},
  isbn = {978-1-4503-9421-5/23/04},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3544548.3581268},
  doi = {10.1145/3544548.3581268},
  booktitle = {CHI Conference on Human Factors in Computing Systems},
  location = {Hamburg, Germany},
  series = {CHI '23}
}

Community

Chat with us on our Discord channel or leave an issue on this repository if you run into any issues or have a request!

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

zenoml-0.6.4.tar.gz (699.0 kB view details)

Uploaded Source

Built Distribution

zenoml-0.6.4-py3-none-any.whl (704.1 kB view details)

Uploaded Python 3

File details

Details for the file zenoml-0.6.4.tar.gz.

File metadata

  • Download URL: zenoml-0.6.4.tar.gz
  • Upload date:
  • Size: 699.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for zenoml-0.6.4.tar.gz
Algorithm Hash digest
SHA256 d032fc76c569c04a7883ad6d8e33b3b55081cf00d5e6fdf586945badce60cf91
MD5 89dadc1fd0f8802f8834a21826fbc52f
BLAKE2b-256 a042ce15c018075b5a88c8d79da3a373c1dba48e0e651974e792e6aa89c4cd90

See more details on using hashes here.

File details

Details for the file zenoml-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: zenoml-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 704.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for zenoml-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c9ef5fcd875886a80844fb56c6476feeb1337df149166c95faa053d6b0bc573f
MD5 3d7be1260a8a7b6953d194c2781cf189
BLAKE2b-256 3d40635690b49db1bf45fbfefaea8c2dc06357623578e6d2185612b49cb25673

See more details on using hashes here.

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