Zero

Canvas 1 Layer 1

Zero is a general-purpose library for PyTorch users. Zero simplifies training loops, facilitates reproducibility, helps with models evaluation and other typical Deep Learning tasks. Zero is a toolbox, not a framework:

  • your training loop stays the same (regardless of whether it is powered by a simple Python loop or by a specialized framework)

  • you can start by using any single tool you need, there is no “central concept”

  • you can replace tools from Zero with custom solutions at any moment

NOTE: Zero is tested (and battle-tested in research projects), but the interface is not stable yet, so backward-incompatible changes in future releases are possible.

Overview

Installation

If you plan to use the GPU version of PyTorch, install it before installing Zero (otherwise, the CPU version will be installed together with Zero).

pip install libzero

Dependencies

  • Python >= 3.7

  • NumPy >= 1.17

  • PyTorch >= 1.6 (CPU or CUDA >= 10.1)

  • pynvml >= 8.0

  • tqdm >= 4.0

How to contribute

If your contribution includes pull requests, see CONTRIBUTING.md

How to cite

@article{gorishniy2020zero,
    title={Zero: a Zero-Overhead Library for PyTorch Users},
    author={Yury Gorishniy},
    journal={GitHub},
    volume={Yura52/zero},
    url={https://github.com/Yura52/zero},
    year={2020},
}

Why “Zero”?

Zero aims to be zero-overhead in terms of mental overhead: solutions, provided by Zero, try to be as minimal, intuitive and easy to learn, as possible. Well, all these things can be pretty subjective, so don’t take it too seriously :wink:


Indices and Tables