Shortcuts

Source code for catalyst.metrics.functional._recall

from typing import Optional, Union

import torch

from catalyst.metrics.functional._classification import precision_recall_fbeta_support


[docs]def recall( outputs: torch.Tensor, targets: torch.Tensor, argmax_dim: int = -1, eps: float = 1e-7, num_classes: Optional[int] = None, ) -> Union[float, torch.Tensor]: """ Multiclass recall score. Args: outputs: estimated targets as predicted by a model with shape [bs; ..., (num_classes or 1)] targets: ground truth (correct) target values with shape [bs; ..., 1] argmax_dim: int, that specifies dimension for argmax transformation in case of scores/probabilities in ``outputs`` eps: float. Epsilon to avoid zero division. num_classes: int, that specifies number of classes if it known Returns: Tensor: recall for every class Examples: .. code-block:: python import torch from catalyst import metrics metrics.recall( outputs=torch.tensor([ [1, 0, 0], [0, 1, 0], [0, 0, 1], ]), targets=torch.tensor([0, 1, 2]), ) # tensor([1., 1., 1.]) .. code-block:: python import torch from catalyst import metrics metrics.recall( outputs=torch.tensor([[0, 0, 1, 1, 0, 1, 0, 1]]), targets=torch.tensor([[0, 1, 0, 1, 0, 0, 1, 1]]), ) # tensor([0.5000, 0.5000] """ _, recall_score, _, _ = precision_recall_fbeta_support( outputs=outputs, targets=targets, argmax_dim=argmax_dim, eps=eps, num_classes=num_classes, ) return recall_score
__all__ = ["recall"]