Skip to main content

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.

Documentation: https://veryviolet.github.io/echelon3/

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

echelon3-0.4.1.tar.gz (110.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

echelon3-0.4.1-py3-none-any.whl (117.2 kB view details)

Uploaded Python 3

File details

Details for the file echelon3-0.4.1.tar.gz.

File metadata

  • Download URL: echelon3-0.4.1.tar.gz
  • Upload date:
  • Size: 110.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for echelon3-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f9ba507713b7d78b8f928dea62c3ca0c46f2bb010d79a55cde3493c49faf9af0
MD5 4877a4ec1ddbf7a48f21b161633c5b59
BLAKE2b-256 a471a7170f5e0435f53b3a44cc09f3c2360dc7497f58467fcd20f7fd80ad2dc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for echelon3-0.4.1.tar.gz:

Publisher: publish.yml on veryviolet/echelon3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file echelon3-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: echelon3-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 117.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for echelon3-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 647cd6b9dd7efa44e0b2cdb74af3ccf5e2e99fab3f20c933a3808590e20bb2ad
MD5 8b12f78419d662fd4aa3440ebaf0d1ef
BLAKE2b-256 53dd4af94c43b76b1199bd6470b16361477f663f5a6437aca8f9e5844751349c

See more details on using hashes here.

Provenance

The following attestation bundles were made for echelon3-0.4.1-py3-none-any.whl:

Publisher: publish.yml on veryviolet/echelon3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page