espnet3.contract.metrics.check_metric_output
Less than 1 minute
espnet3.contract.metrics.check_metric_output
espnet3.contract.metrics.check_metric_output(metric: Any, result: Mapping[str, Any]) → None
Raise unless result has every declared output, each of kind number.
- Parameters:
- metric – A
BaseMetricinstance. - result – What
metric(...)returned.
- metric – A
- Returns: None.
- Raises:MetricContractError – A declared output is missing from
result, or its value is not the declared kind.
Examples
>>> from espnet3.components.metrics.base_metric import BaseMetric
>>> class ExampleMetric(BaseMetric):
... inputs = (Field("ref", "text"),)
... outputs = (Field("score", "number"),)
... def update(self, **values):
... pass
... def compute(self):
... return {"score": 0.0}
>>> check_metric_output(ExampleMetric(), {"score": 4.3})
>>> check_metric_output(ExampleMetric(), {})
Traceback (most recent call last):
espnet3.contract.metrics.MetricContractError: ExampleMetric ...