Lightweight framework for structuring arbitrary reproducible neural network learning procedures using PyTorch.
PyTorch code can easily become complex, unwieldy, and difficult to understand as a project develops. Luz aims to provide a common scaffold for PyTorch code in order to minimize boilerplate, maximize readability, and maintain the flexibility of PyTorch itself.
The basis of Luz is the Runner, an abstraction representing batch-wise processing of data over multiple epochs. Runner has predefined hooks to which code can be attached and a State which can be manipulated to define essentially arbitrary behavior. These hooks can be used to compose multiple Runners into a single algorithm, enabling dataset preprocessing, model testing, and other common tasks.
To further reduce boilerplate, the Learner abstraction is introduced as shorthand for the extremely common Preprocess-Train-Validate-Test algorithm. Simply inherit luz.Learner and define a handful of methods to completely customize your learning algorithm.
Two additional abstractions are provided for convenience: Scorers, which score (i.e. evaluate) a Learner according to some predefined procedure, and Tuners, which tune Learner hyperparameters. These abstractions provide a common interface which makes model selection a two-line process.
Getting Started
Installing
From pip:
pip install luz
From conda:
conda install -c conda-forge -c pytorch -c kijana luz
Documentation
See documentation here.
Examples
See example scripts in Examples.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
See CONTRIBUTING.
Metadata
Release files for luz 10.3.0
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 |
|---|---|---|---|---|
| luz-10.3.0.tar.gz | 24.0 kB | Without provenance | Details for luz-10.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| luz-10.3.0-py3-none-any.whl | Python 3 | none | any | Details for luz-10.3.0-py3-none-any.whl |
Total release size: 50.4 kB
Release files / luz-10.3.0.tar.gz
| Download URL | luz-10.3.0.tar.gz |
|---|---|
| Size | 24.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa6685eb6b736187ffd8280c04307d8d38585041b2029f9ee032f56ea48c69f4
|
|
BLAKE2b-256 checksum How to use checksums |
7b9dd448b46c07e441af221b4784cfe90c7b8959f1e5b79aa3c3be8e5a10c104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.9.7 Linux/5.11.0-43-generic
|
Release files / luz-10.3.0-py3-none-any.whl
| Download URL | luz-10.3.0-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4014d7d12dc212fad53c549c57fb67eb7d659645a4a037702305433de39a26b
|
|
BLAKE2b-256 checksum How to use checksums |
8636f551278a3c5ae0b82bab7243617be5c06f1beeb7d022787a508b59974bc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.9.7 Linux/5.11.0-43-generic
|
Security for luz 10.3.0
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.