ML-Dash

Parameters

Hyperparameters and configuration values for an experiment. Parameters are static key-value pairs set once (or merged across calls) — for time-series data, see Metrics.

Setting Parameters

python
from ml_dash import Experiment

with Experiment(prefix="alice/project/run-01").run as exp:
    exp.params.set(
        learning_rate=0.001,
        batch_size=32,
        optimizer="adam",
    )

Nested dicts are flattened to dot notation:

python
exp.params.set(
    model={"architecture": "resnet50", "pretrained": True},
    optimizer={"type": "adam", "lr": 0.001},
)
# Stored as: model.architecture, model.pretrained, optimizer.type, optimizer.lr

Updating Parameters

Multiple calls merge — later values overwrite earlier ones:

python
exp.params.set(learning_rate=0.001, batch_size=32)
exp.params.set(learning_rate=0.0001)  # overrides; batch_size preserved

From Config Objects

Pass class objects directly — works with params-proto, plain classes, or any object with attributes. Private attributes (prefixed with _) are skipped.

python
class Args:
    batch_size = 64
    learning_rate = 0.001

exp.params.set(Args=Args)
# → Args.batch_size = 64, Args.learning_rate = 0.001

For dataclasses, splat with asdict:

python
from dataclasses import asdict
exp.params.set(**asdict(config))

Reading Parameters

python
exp.params.get()                # flat dict with dot notation (default)
exp.params.get(flatten=False)   # nested dict

API

  • exp.params.set(**kwargs) — set or merge parameters. Accepts scalars, nested dicts, and class objects. Returns self.
  • exp.params.log(**kwargs) — alias for set(), identical behavior.
  • exp.params.get(flatten=True) — retrieve current parameters.

Next: Metrics for time-series tracking.