Shortcuts

torcheval.metrics.functional.binary_normalized_entropy

torcheval.metrics.functional.binary_normalized_entropy(input: Tensor, target: Tensor, *, weight: Tensor | None = None, num_tasks: int = 1, from_logits: bool = False) Tensor

计算预测输入与真实二元目标之间的归一化二元交叉熵。 其类版本是 torcheval.metrics.binary_normalized_entropy

Parameters:
  • 输入 (张量) – 预测的未归一化分数(通常称为logits)或二元类别概率(num_tasks, num_samples)。

  • target (Tensor) – 真实二元类别索引 (num_tasks, num_samples)。

  • weight (Tensor) – 可选的。用于手动调整权重的缩放,以匹配输入张量的形状 (num_tasks, num_samples)。

  • num_tasks (int) – 需要进行BinaryNormalizedEntropy计算的任务数量。默认值为1。

  • from_logit (bool) – 一个布尔指示器,表示预测值 y_pred 是否 是一个浮点数 logit 值(即当 from_logits=True 时,值在 [-inf, inf] 范围内) 或一个概率值(即当 from_logits=False 时,值在 [0., 1.] 范围内) 默认值为 False。

示例:

>>> import torch
>>> from torcheval.metrics.functional import binary_normalized_entropy

>>> input = torch.tensor([0.2, 0.3])
>>> target = torch.tensor([1.0, 0.0])
>>> weight = None
>>> binary_normalized_entropy(input, target, weight, from_logits=False)
tensor(1.4183, dtype=torch.float64)

>>> input = torch.tensor([0.2, 0.3])
>>> target = torch.tensor([1.0, 0.0])
>>> weight = torch.tensor([5.0, 1.0])
>>> binary_normalized_entropy(input, target, weight, from_logits=False)
tensor(3.1087, dtype=torch.float64)

>>> input = torch.tensor([-1.3863, -0.8473])
>>> target = torch.tensor([1.0, 0.0])
>>> weight = None
>>> binary_normalized_entropy(input, target, weight, from_logits=True)
tensor(1.4183, dtype=torch.float64)

>>> input = torch.tensor([[0.2, 0.3], [0.5, 0.1]])
>>> target = torch.tensor([[1.0, 0.0], [0.0, 1.0]])
>>> weight = None
>>> binary_normalized_entropy(input, target, weight, from_logits=True)
tensor([1.4183, 2.1610], dtype=torch.float64)