kd.metrics.SkipIfMissing

kd.metrics.SkipIfMissing#

class kauldron.metrics.SkipIfMissing(metric: kauldron.metrics.base.Metric)[source]

Bases: kauldron.metrics.base.Metric

Skip this metric if any of the keys are missing.

This can be useful for example for metrics that are only defined for a subset of the datasets, or for metrics of gradients that would fail during evaluation.

Usage:
cfg.train_metrics[“optional_metric”] = kd.metrics.SkipIfMissing(

kd.metrics.Norm(tensor=”grads.encoder”)

)

metric

The metric to skip if any of its kontext-keys are missing.

Type:

kauldron.metrics.base.Metric

metric: kauldron.metrics.base.Metric
class State(
state: base_state.State | None = None,
*,
parent: _MetricT = _EMPTY_TYPE.EMPTY,
)[source]

Bases: kauldron.metrics.base_state.State

State for SkipIfMissing.

state: base_state.State | None = None
classmethod empty() kauldron.metrics.base.SkipIfMissing.State[source]

Returns an empty instance (i.e. .merge(State.empty()) is a no-op).

merge(
other: kauldron.metrics.base.SkipIfMissing.State,
) kauldron.metrics.base.SkipIfMissing.State[source]

Returns a new state that is the accumulation of self and other.

Parameters:

other – A State whose intermediate values should be accumulated onto the values of self.

Returns:

A new State that accumulates the value from both self and other.

compute() PyTree[Any][source]

Computes final metrics from intermediate values.

replace(**updates)

Returns a new object replacing the specified fields with new values.

get_state(
**kwargs,
) kauldron.metrics.base.Metric.State[source]
get_state_from_context(
context: Any,
) kauldron.metrics.base.Metric.State[source]
empty() kauldron.metrics.base.Metric.State[source]