Shortcuts

Source code for catalyst.metrics.functional._r2_squared

from typing import Sequence

import torch


[docs]def r2_squared(outputs: torch.Tensor, targets: torch.Tensor) -> Sequence[torch.Tensor]: """ Computes regression r2 squared. Args: outputs: model outputs with shape [bs; 1] targets: ground truth with shape [bs; 1] Returns: float of computed r2 squared Examples: .. code-block:: python import torch from catalyst import metrics metrics.r2_squared( outputs=torch.tensor([0, 1, 2]), targets=torch.tensor([0, 1, 2]), ) # tensor([1.]) .. code-block:: python import torch from catalyst import metrics metrics.r2_squared( outputs=torch.tensor([2.5, 0.0, 2, 8]), targets=torch.tensor([3, -0.5, 2, 7]), ) # tensor([0.9486]) """ total_sum_of_squares = torch.sum( torch.pow(targets.float() - torch.mean(targets.float()), 2) ).view(-1) residual_sum_of_squares = torch.sum( torch.pow(targets.float() - outputs.float(), 2) ).view(-1) output = 1 - residual_sum_of_squares / total_sum_of_squares return output
__all__ = ["r2_squared"]