A composable machine learning toolbelt
ML Tasks are broken into pipelines allowing models to be used with multiple pipelines and datasets.
| Pipeline | Model | Dataset |
|---|---|---|
classifier |
SoftmaxRegressor (NumPy) | Iris |
translation |
Seq2Seq RNN/LSTM | multi30k, opus_books |
# Softmax classifier
python -m belt classifierConfigs live in configs/. Each pipeline has a YAML controlling data, model, training, and output settings.
New model: register with the decorator, then set model_name in your config:
from belt.supervised.models import supervised_model_registry
@supervised_model_registry.register("NewModel")
class NewModel(nn.Module):
passNew dataset: add a loader to belt/data/ and register it in belt/registry.py.
Downloaded datasets and tokenizers are stored under data/ at the repo root and reused on subsequent runs. Pass --no-cache to force a fresh download.
python -m pip install -e .
# DirectML backend (Windows GPU):
python -m pip install -e .[directml]