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
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
- 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)
- or:
python tinyexp/examples/mnist_exp.py
- 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
- 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
- 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
- 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
- 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afe88c84e1ddef5e3417b3265f1fbb9e9b5147414f75d1d8e7483a7f276cbaac
|
|
| MD5 |
a488fd1206bb35b0a108be6d6751e336
|
|
| BLAKE2b-256 |
9d8288101a6ea6a3cbec6393462da0e23eb14435e26fb9035501c252b7c0bf15
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f31131ef6b00f49d6b0e88d1565be5015a13802e57d4a7c2b32a9a1b898c45f
|
|
| MD5 |
4ea596392566b00b3bc100f69c0e551e
|
|
| BLAKE2b-256 |
d3ee75fc142817b629bdee167056345b79ff900acac03e92c30a93f7319af01e
|