Welcome to zetta_utils documentation!¶
zetta_utils is a collection of core components used in Zetta AI’s connectomics pipeline.
It includes tools for data I/O, visualization, logging, training utilities, distributed inference, and more.
Its main goal is to provide clean, powerful abstractions and accelerate connectomics research.
Getting Started¶
The recommended installation method is pip-installing into a virtualenv:
$ git clone --recurse-submodules git@github.com:ZettaAI/zetta_utils.git
$ cd zetta_utils
$ ./install_zutils.py
If you want to let zetta_utils generate neuroglancer links automatically, you will need to set:
NG_STATE_SERVER_TOKEN
If you want to use Grafana integration for logging, you will need to set:
GRAFANA_CLOUD_ACCESS_KEY
Please consult the Grafana API documentation for how to set up an API key.
To use KEDA (Kubernetes Event-driven Autoscaling), you will first need to install helm.
If you are planning to use zetta_utils.viz toolkit, you will need to install nodejs:
$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
$ sudo apt install -y nodejs
The next steps will get you up and running in no time:
SubchunkableApplyFlow Quick Start Guide will introduce you to handling volumetric data in
zetta_utilsCUE files and running simple tasks using SubchunkableApplyFlow.Examples will give you a comprehensive tour of
zetta_utils’s features.Module documentation will show you how each individual module is intended to be used.
Developer Guide will give you all of the information necessary to start contributing to
zetta_utils.If at any point you get confused by some terminology, please check out our Glossary.
Day-to-Day Usage¶
zetta_utils.log provides a well formated disk backed logging system.
zetta_utils.tensoris a unified set of operations that support bothnp.ndarrayandtorch.Tensortensor types. Usezetta_utils.tensor_ops.unsqueeze(t)without worrying which typetis.zetta_utils.layer offers flexible abstraction for data IO.
zetta_utils.training set of tools and integrations for neural net training.
zetta_utils.vizprovides nifty visualization tools for Jupyter.zetta_utils.builder is utility for building python objects and workflows from nested dictionaries.
SubchunkableApplyFlow is an inference Flow that supports arbitrary subchunking, cropping, and blending.
Project Information¶
License: MIT
Source Code: https://github.com/ZettaAI/zetta_utils
Documentation: https://zetta.ai/zetta_utils/index.html
Supported Python Versions: 3.11, 3.12