Docs / Core / Parameters 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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
from dataclasses import asdict
exp.params.set( ** asdict(config))
Reading Parameters
python Copy
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.