Shortcuts

torchmetrics.aggregation

Torchmetrics comes with a number of metrics for aggregation of basic statistics: mean, max, min etc. of either tensors or native python floats.

CatMetric

class torchmetrics.CatMetric(nan_strategy='warn', compute_on_step=None, **kwargs)[source]

Concatenate a stream of values.

Parameters
  • nan_strategy (Union[str, float]) – options: - 'error': if any nan values are encounted will give a RuntimeError - 'warn': if any nan values are encounted will give a warning and continue - 'ignore': all nan values are silently removed - a float: if a float is provided will impude any nan values with this value

  • compute_on_step (Optional[bool]) –

    Forward only calls update() and returns None if this is set to False.

    Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

  • kwargs (Dict[str, Any]) – Additional keyword arguments, see Advanced metric settings for more info.

Raises

ValueError – If nan_strategy is not one of error, warn, ignore or a float

Example

>>> from torchmetrics import CatMetric
>>> metric = CatMetric()
>>> metric.update(1)
>>> metric.update(torch.tensor([2, 3]))
>>> metric.compute()
tensor([1., 2., 3.])

Initializes internal Module state, shared by both nn.Module and ScriptModule.

compute()[source]

Compute the aggregated value.

Return type

Tensor

update(value)[source]

Update state with data.

Parameters

value (Union[float, Tensor]) – Either a float or tensor containing data. Additional tensor dimensions will be flattened

Return type

None

MaxMetric

class torchmetrics.MaxMetric(nan_strategy='warn', compute_on_step=None, **kwargs)[source]

Aggregate a stream of value into their maximum value.

Parameters
  • nan_strategy (Union[str, float]) – options: - 'error': if any nan values are encounted will give a RuntimeError - 'warn': if any nan values are encounted will give a warning and continue - 'ignore': all nan values are silently removed - a float: if a float is provided will impude any nan values with this value

  • compute_on_step (Optional[bool]) –

    Forward only calls update() and returns None if this is set to False.

    Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

  • kwargs (Dict[str, Any]) – Additional keyword arguments, see Advanced metric settings for more info.

Raises

ValueError – If nan_strategy is not one of error, warn, ignore or a float

Example

>>> from torchmetrics import MaxMetric
>>> metric = MaxMetric()
>>> metric.update(1)
>>> metric.update(torch.tensor([2, 3]))
>>> metric.compute()
tensor(3.)

Initializes internal Module state, shared by both nn.Module and ScriptModule.

update(value)[source]

Update state with data.

Parameters

value (Union[float, Tensor]) – Either a float or tensor containing data. Additional tensor dimensions will be flattened

Return type

None

MeanMetric

class torchmetrics.MeanMetric(nan_strategy='warn', compute_on_step=None, **kwargs)[source]

Aggregate a stream of value into their mean value.

Parameters

nan_strategy (Union[str, float]) –

options:
  • 'error': if any nan values are encounted will give a RuntimeError

  • 'warn': if any nan values are encounted will give a warning and continue

  • 'ignore': all nan values are silently removed

  • a float: if a float is provided will impude any nan values with this value

compute_on_step:

Forward only calls update() and returns None if this is set to False.

Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

kwargs: Additional keyword arguments, see Advanced metric settings for more info.

Raises

ValueError – If nan_strategy is not one of error, warn, ignore or a float

Example

>>> from torchmetrics import MeanMetric
>>> metric = MeanMetric()
>>> metric.update(1)
>>> metric.update(torch.tensor([2, 3]))
>>> metric.compute()
tensor(2.)

Initializes internal Module state, shared by both nn.Module and ScriptModule.

compute()[source]

Compute the aggregated value.

Return type

Tensor

update(value, weight=1.0)[source]

Update state with data.

Parameters
  • value (Union[float, Tensor]) – Either a float or tensor containing data. Additional tensor dimensions will be flattened

  • weight (Union[float, Tensor]) – Either a float or tensor containing weights for calculating the average. Shape of weight should be able to broadcast with the shape of value. Default to 1.0 corresponding to simple harmonic average.

Return type

None

MinMetric

class torchmetrics.MinMetric(nan_strategy='warn', compute_on_step=None, **kwargs)[source]

Aggregate a stream of value into their minimum value.

Parameters
  • nan_strategy (Union[str, float]) – options: - 'error': if any nan values are encounted will give a RuntimeError - 'warn': if any nan values are encounted will give a warning and continue - 'ignore': all nan values are silently removed - a float: if a float is provided will impude any nan values with this value

  • compute_on_step (Optional[bool]) –

    Forward only calls update() and returns None if this is set to False.

    Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

  • kwargs (Dict[str, Any]) – Additional keyword arguments, see Advanced metric settings for more info.

Raises

ValueError – If nan_strategy is not one of error, warn, ignore or a float

Example

>>> from torchmetrics import MinMetric
>>> metric = MinMetric()
>>> metric.update(1)
>>> metric.update(torch.tensor([2, 3]))
>>> metric.compute()
tensor(1.)

Initializes internal Module state, shared by both nn.Module and ScriptModule.

update(value)[source]

Update state with data.

Parameters

value (Union[float, Tensor]) – Either a float or tensor containing data. Additional tensor dimensions will be flattened

Return type

None

SumMetric

class torchmetrics.SumMetric(nan_strategy='warn', compute_on_step=None, **kwargs)[source]

Aggregate a stream of value into their sum.

Parameters
  • nan_strategy (Union[str, float]) – options: - 'error': if any nan values are encounted will give a RuntimeError - 'warn': if any nan values are encounted will give a warning and continue - 'ignore': all nan values are silently removed - a float: if a float is provided will impude any nan values with this value

  • compute_on_step (Optional[bool]) –

    Forward only calls update() and returns None if this is set to False.

    Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

  • kwargs (Dict[str, Any]) – Additional keyword arguments, see Advanced metric settings for more info.

Raises

ValueError – If nan_strategy is not one of error, warn, ignore or a float

Example

>>> from torchmetrics import SumMetric
>>> metric = SumMetric()
>>> metric.update(1)
>>> metric.update(torch.tensor([2, 3]))
>>> metric.compute()
tensor(6.)

Initializes internal Module state, shared by both nn.Module and ScriptModule.

update(value)[source]

Update state with data.

Parameters

value (Union[float, Tensor]) – Either a float or tensor containing data. Additional tensor dimensions will be flattened

Return type

None