espnet3.contract.metrics.require_metric_declaration
Less than 1 minute
espnet3.contract.metrics.require_metric_declaration
espnet3.contract.metrics.require_metric_declaration(obj) → None
Raise unless obj declares inputs/outputs.
Every BaseMetric instance must opt into the contract - as its class’s own attributes, or as the instance’s own (set in __init__, for a metric whose contract depends on its own configuration); there is no undeclared fallback.
- Parameters:obj – The class to check, or an instance whose own attributes (set in its
__init__) declare a contract its class does not. - Returns: Nothing; it always raises
TypeError.
Examples
>>> class Undeclared:
... pass
>>> require_metric_declaration(Undeclared)
Traceback (most recent call last):
TypeError: Undeclared does not declare inputs/outputs; declare ...