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 |
| 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!
Metadata
Release files for zenoml 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zenoml-0.6.4.tar.gz | 699.0 kB | Without provenance | Details for zenoml-0.6.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zenoml-0.6.4-py3-none-any.whl | Python 3 | none | any | Details for zenoml-0.6.4-py3-none-any.whl |
Total release size: 1.4 MB
Release files / zenoml-0.6.4.tar.gz
| Download URL | zenoml-0.6.4.tar.gz |
|---|---|
| Size | 699.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d032fc76c569c04a7883ad6d8e33b3b55081cf00d5e6fdf586945badce60cf91
|
|
BLAKE2b-256 checksum How to use checksums |
a042ce15c018075b5a88c8d79da3a373c1dba48e0e651974e792e6aa89c4cd90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure
|
Release files / zenoml-0.6.4-py3-none-any.whl
| Download URL | zenoml-0.6.4-py3-none-any.whl |
|---|---|
| Size | 704.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9ef5fcd875886a80844fb56c6476feeb1337df149166c95faa053d6b0bc573f
|
|
BLAKE2b-256 checksum How to use checksums |
3d40635690b49db1bf45fbfefaea8c2dc06357623578e6d2185612b49cb25673
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.9.17 Linux/5.15.0-1041-azure
|
Security for zenoml 0.6.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.