Skip to main content

A minimalist Python project for deep learning experiment management. It uses Ray for core distributed environment and backend setup, and provides basic, no-frills tracking for models, optimizers, and LR schedulers.

Project description

Main codecov

TinyExp

A simple Python project for deep learning experiment management.

TinyExp lets you launch experiments with one click: the file you edit becomes the entrypoint to your experiment.

Usage

pip install tinyexp
  1. Run mnist example(By default, It will trained on CPU)
import tinyexp
from tinyexp.examples.mnist_exp import Exp, store_and_run_exp
store_and_run_exp(Exp)
  1. or:
python tinyexp/examples/mnist_exp.py
  1. Run mnist example with overridden config:
python tinyexp/examples/mnist_exp.py dataloader_cfg.train_batch_size_per_device=16

see all available configs:

python tinyexp/examples/mnist_exp.py mode=help

see all available configs with overridden configs:

python tinyexp/examples/mnist_exp.py mode=help dataloader_cfg.train_batch_size_per_device=16

More Examples

  1. ImageNet ResNet-50 Example with Extremely Fast Data Loading (By default, all available GPUs will be used.)
# export IMAGENET_HOME=yours_imagenet_dir

import tinyexp
from tinyexp.examples.resnet_exp import ResNetExp, store_and_run_exp
store_and_run_exp(ResNetExp)

Develop

  1. prepare env
# 1. clone repo
git clone https://github.com/HKUST-SAIL/tinyexp.git
# 2. Set Up Your Development Environment, This will also generate your `uv.lock` file
make install
source .venv/bin/activate
  1. After development, checking whether the code is standardized
# Initially, the CI/CD pipeline might be failing due to formatting issues. To resolve those run:
uv run pre-commit run -a
  1. Release a new version
# One command to auto-generate CHANGELOG entry (from commits since last tag),
# bump version, test, tag, publish and push:
make release VERSION=0.0.4
# (The script uses git-cliff; if git-cliff is not installed, it falls back to `uvx --from git-cliff git-cliff`.)

License

MIT License. See LICENSE.

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

tinyexp-0.0.4.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

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

tinyexp-0.0.4-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file tinyexp-0.0.4.tar.gz.

File metadata

  • Download URL: tinyexp-0.0.4.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for tinyexp-0.0.4.tar.gz
Algorithm Hash digest
SHA256 afe88c84e1ddef5e3417b3265f1fbb9e9b5147414f75d1d8e7483a7f276cbaac
MD5 a488fd1206bb35b0a108be6d6751e336
BLAKE2b-256 9d8288101a6ea6a3cbec6393462da0e23eb14435e26fb9035501c252b7c0bf15

See more details on using hashes here.

File details

Details for the file tinyexp-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: tinyexp-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for tinyexp-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9f31131ef6b00f49d6b0e88d1565be5015a13802e57d4a7c2b32a9a1b898c45f
MD5 4ea596392566b00b3bc100f69c0e551e
BLAKE2b-256 d3ee75fc142817b629bdee167056345b79ff900acac03e92c30a93f7319af01e

See more details on using hashes here.

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