Config-driven PyTorch training framework: assemble nets, data, losses and trainers from YAML
Project description
Echelon3
Config-driven PyTorch training framework. Every component of a training run —
network, dataset, augmentations, losses, metrics, optimizer, scheduler, trainer,
export — is described in a YAML config as a module / type / config triple
and instantiated dynamically:
net:
module: echelon3.nets.classifier # import path (or a path to a .py file)
type: ClassifierNet # class or factory function in that module
config: { ... } # constructor kwargs
There is no component registry: anything importable can be plugged in — classes
from echelon3, from torch/timm/torchmetrics/albumentations, or from
your own project code living next to your configs.
Install
pip install echelon3
Train
echelon3-train --config-dir ./configs --config-name my_experiment
Multi-GPU (DDP):
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node=4 \
$(which echelon3-train) --config-dir ./configs --config-name my_experiment
dataloaders.train.config.batch_size is the global batch size; under DDP it is
split across ranks automatically. Without torchrun the trainer falls back to
DataParallel (device / device_ids config keys).
Quick start
See examples/ for a self-contained smoke run: synthetic dataset generation and
a minimal classifier config.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file echelon3-0.1.0.tar.gz.
File metadata
- Download URL: echelon3-0.1.0.tar.gz
- Upload date:
- Size: 79.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8581e3ad886e566354ed129bdd86691f2265320c1640dab9b6bab10ac93b1722
|
|
| MD5 |
f64ccb298a980af1b64f281b49ac046f
|
|
| BLAKE2b-256 |
804e18ee5e1e75c9496f5daca0de1c92694f97d36a66261ddc2e5db03d2292b2
|
Provenance
The following attestation bundles were made for echelon3-0.1.0.tar.gz:
Publisher:
publish.yml on veryviolet/echelon3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echelon3-0.1.0.tar.gz -
Subject digest:
8581e3ad886e566354ed129bdd86691f2265320c1640dab9b6bab10ac93b1722 - Sigstore transparency entry: 2079853660
- Sigstore integration time:
-
Permalink:
veryviolet/echelon3@1a587f450cdaa955f2e1262c6c846cf731069d47 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/veryviolet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1a587f450cdaa955f2e1262c6c846cf731069d47 -
Trigger Event:
push
-
Statement type:
File details
Details for the file echelon3-0.1.0-py3-none-any.whl.
File metadata
- Download URL: echelon3-0.1.0-py3-none-any.whl
- Upload date:
- Size: 110.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b16f795890f1788ec217825f05b17d9b543471f82bb30769a49e1c00402629ff
|
|
| MD5 |
29c956f261f7b4857e63092a014fac99
|
|
| BLAKE2b-256 |
06fc0bb564bb97d0f7cf2c2299f6632e829d154b8d17ae24a20cb218bcffd3fd
|
Provenance
The following attestation bundles were made for echelon3-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on veryviolet/echelon3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echelon3-0.1.0-py3-none-any.whl -
Subject digest:
b16f795890f1788ec217825f05b17d9b543471f82bb30769a49e1c00402629ff - Sigstore transparency entry: 2079853921
- Sigstore integration time:
-
Permalink:
veryviolet/echelon3@1a587f450cdaa955f2e1262c6c846cf731069d47 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/veryviolet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1a587f450cdaa955f2e1262c6c846cf731069d47 -
Trigger Event:
push
-
Statement type: