快捷方式

torcheval.metrics.functional.multilabel_accuracy

torcheval.metrics.functional.multilabel_accuracy(input: Tensor, target: Tensor, *, threshold: float = 0.5, criteria: str = 'exact_match') Tensor

计算多标签准确率得分,即输入匹配目标的频率。其类版本为 torcheval.metrics.MultilabelAccuracy

参数:
  • **input** (Tensor) – 形状为 (n_sample, n_class) 的标签预测张量。 torch.where(input < threshold, 0, 1)` 将应用于 input

  • **target** (Tensor) – 形状为 (n_sample, n_class) 的真实标签张量。

  • **threshold** – 用于将输入转换为每个样本的预测标签的阈值。

  • **criteria** –

  • **[**默认] (- 'exact_match') – 为样本预测的标签集必须与目标中相应的标签集完全匹配。也称为子集准确率。

  • **'hamming'** (-) – 正确标签在总标签数中的比例。

  • **'overlap'** (-) – 为样本预测的标签集必须与目标中相应的标签集重叠。

  • **'contain'** (-) – 为样本预测的标签集必须包含目标中相应的标签集。

  • **'belong'** (-) – 为样本预测的标签集必须(完全)属于目标中相应的标签集。

示例

>>> import torch
>>> from torcheval.metrics.functional import multilabel_accuracy
>>> input = torch.tensor([[0, 1], [1, 1], [0, 0], [0, 1]])
>>> target = torch.tensor([[0, 1], [1, 0], [0, 0], [1, 1]])
>>> multilabel_accuracy(input, target)
tensor(0.5)  # 2 / 4

>>> input = torch.tensor([[0, 1], [1, 1], [0, 0], [0, 1]])
>>> target = torch.tensor([[0, 1], [1, 0], [0, 0], [1, 1]])
>>> multilabel_accuracy(input, target, criteria="hamming")
tensor(0.75)  # 6 / 8

>>> input = torch.tensor([[0, 1], [1, 1], [0, 0], [0, 1]])
>>> target = torch.tensor([[0, 1], [1, 0], [0, 0], [1, 1]])
>>> multilabel_accuracy(input, target, criteria="overlap")
tensor(1)  # 4 / 4

>>> input = torch.tensor([[0, 1], [1, 1], [0, 0], [0, 1]])
>>> target = torch.tensor([[0, 1], [1, 0], [0, 0], [1, 1]])
>>> multilabel_accuracy(input, target, criteria="contain")
tensor(0.75)  # 3 / 4, input[0],input[1],input[2]

>>> input = torch.tensor([[0, 1], [1, 1], [0, 0], [0, 1]])
>>> target = torch.tensor([[0, 1], [1, 0], [0, 0], [1, 1]])
>>> multilabel_accuracy(input, target, criteria="belong")
tensor(0.75)  # 3 / 4, input[0],input[1],input[3]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源