Skip to main content

ZenoML-Next

This fork of ZenoML aims to maintain the existing functionality while adding small, practical features for personal use.

Features

  • New entry point: zeno_next() simplifies usage in notebooks with fixed inputs.
  • S3 URI support: Enables S3 paths as the image column (requires aws configure on the host machine).

Example: Using zeno_next

import pandas as pd
from zeno import zeno_next

df = pd.read_parquet("tmp_df.parquet")
print(len(df))

# Use local paths:
# data_column = "filename"
# MOUNT_PATH = "/root/danbooru_images"

# Use S3 URI:
data_column = "s3_uri"
MOUNT_PATH = ""

ZENO_PORT = 8019

# Clear the cache if needed:
# !rm -rf .zeno_cache/
zeno_next(df, data_column, MOUNT_PATH, ZENO_PORT)

Upkeeps

  • bump pydantic to version 2.x

Building Repo

# see DEVELOPMENT.md for setup repo
python -m pip install build twine
python -m build
twine check dist/*
twine upload dist/*



Original README

PyPI version MIT license DOI

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!

Metadata

Release files for zenoml-next 0.6.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zenoml-next 0.6.8
File Size Uploaded
zenoml_next-0.6.8.tar.gz 696.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zenoml-next 0.6.8
File Interpreter ABI Platform
zenoml_next-0.6.8-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / zenoml_next-0.6.8.tar.gz

Download URL zenoml_next-0.6.8.tar.gz
Size 696.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a4c636a025303c7c2b99a12d0e2b551d6027e5376d79bd325de44610d21719e9
BLAKE2b-256 checksum
How to use checksums
8e1604bb44bfb240c94d16a3f17225e52934d0a663e702663a44a479f6da8d0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.13

Release files / zenoml_next-0.6.8-py3-none-any.whl

Download URL zenoml_next-0.6.8-py3-none-any.whl
Size 700.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0a81a97ba26d6c860dc2b42e8f2e152cc022029200b8107ba5d4da280eea8d9
BLAKE2b-256 checksum
How to use checksums
9ed474023870b18977cf52dfc262acc7c59f1b59d9415f103a82f1f8fc5f6707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.13

Release history Release notifications | RSS feed

This release

0.6.8 This release

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page