metrics
optimus_dl.modules.metrics.metrics
¶
AccuracyMetric
¶
Bases: Metric
Computes Top-1 accuracy for classification tasks.
Source code in optimus_dl/modules/metrics/metrics.py
AccuracyMetricConfig
dataclass
¶
Bases: MetricConfig
AccuracyMetricConfig(_name: 'str' = 'accuracy', nested_name: 'str | None' = None)
Source code in optimus_dl/modules/metrics/metrics.py
LossMetric
¶
Bases: Metric
Simple wrapper to report loss via MetricEngine.
Source code in optimus_dl/modules/metrics/metrics.py
LossMetricConfig
dataclass
¶
Bases: MetricConfig
LossMetricConfig(_name: 'str' = 'loss', nested_name: 'str | None' = None)
Source code in optimus_dl/modules/metrics/metrics.py
Metric
¶
Bases: ABC
Stateless definition for computing metrics from model/source data.
A Metric implementation defines:
- What data it requires via requires mapping (Role -> set of protocol strings).
- How to calculate raw results for a batch, potentially emitting multiple sub-values.
- How to finalize those values after they've been aggregated (e.g., F1 from counts).
Source code in optimus_dl/modules/metrics/metrics.py
accumulators
property
¶
Define how each sub-metric should be aggregated across batches.
Returns a mapping from sub-metric names to accumulator types (e.g., 'average', 'sum', 'gather', 'perplexity').
requires
abstractmethod
property
¶
Mapping from source role name to a set of required protocol strings.
__call__(sources_data)
abstractmethod
¶
Compute raw metric values for the batch.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batch
|
The original batch dictionary. |
required | |
sources_data
|
dict[str, dict[str, Any]]
|
Protocol string -> data. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, dict[str, Any]]
|
Dict mapping sub-metric names to log kwargs (e.g., {'value': ..., 'weight': ...}) |
dict[str, dict[str, Any]]
|
for accumulators. |
Source code in optimus_dl/modules/metrics/metrics.py
finalize(aggregated_data)
¶
Perform final calculations on aggregated data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aggregated_data
|
dict[str, Any]
|
Dict mapping sub-metric names to their computed/aggregated values from accumulators. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Dict of final metrics to be logged/reported. |
Source code in optimus_dl/modules/metrics/metrics.py
MetricConfig
dataclass
¶
Bases: RegistryConfigStrict
MetricConfig(_name: str | None = None, nested_name: 'str | None' = None)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
nested_name
|
str | None
|
Optional name to nest this metric under in the metrics tree. |
None
|
Source code in optimus_dl/modules/metrics/metrics.py
PerplexityMetric
¶
Bases: Metric
Computes perplexity (exp(loss)).
Source code in optimus_dl/modules/metrics/metrics.py
PerplexityMetricConfig
dataclass
¶
Bases: MetricConfig
PerplexityMetricConfig(_name: 'str' = 'perplexity', nested_name: 'str | None' = None)