Parameters
Metric hyperparameters, configuration values, and experiment settings. Parameters are static key-value pairs that define your experiment.
Basic Usage
Nested Parameters
Use nested dictionaries - they're automatically flattened with dot notation:
Class Objects Support
Pass configuration classes directly (perfect for params-proto):
Private attributes (starting with _) are automatically skipped.
Updating Parameters
Call exp.params.set() multiple times - values merge and overwrite:
Loading from Config Files
From JSON:
From command line arguments:
From dataclass:
From params-proto (or any class):
Complete Training Configuration
Retrieving Parameters
Get parameters during or after an experiment:
API Methods
set() / log()
Both methods do the same thing - set or merge parameters:
- Nested dicts are automatically flattened to dot notation
- Class objects are converted to dictionaries by extracting their attributes
- Multiple calls merge parameters (later values override earlier ones)
- Returns self for potential chaining
The log() method exists for semantic clarity but behaves identically to set().
get()
Retrieve current parameters:
flatten=True(default): Returns flattened dict with dot notationflatten=False: Returns nested dict structure
Storage Format
Local mode - Stored as JSON:
The flattened parameters sit under "data":
Remote mode - Stored in MongoDB as a document.
Next: Learn about Metrics for time-series metrics tracking.