快捷键

torch.nn.functional.cross_entropy

torch.nn.functional.cross_entropy(input, target, weight=None, size_average=None, ignore_index=-100, reduce=None, reduction='mean', label_smoothing=0.0)[source][source] ¶

计算输入对数几率和目标之间的交叉熵损失。

详细内容请见 CrossEntropyLoss

参数:
  • input (Tensor) – 预测的非归一化对数几率;请参阅下面的形状部分以获取支持的形状。

  • target (Tensor) – 地标类索引或类概率;请参阅下文形状部分以了解支持的形状。

  • weight (Tensor, 可选) – 每个类分配的手动缩放权重。如果提供,则必须是一个大小为 C 的 Tensor。

  • size_average(布尔值,可选)- 已弃用(参见 reduction )。默认情况下,损失在批次的每个损失元素上平均。注意,对于某些损失,每个样本可能有多个元素。如果字段 size_average 设置为 False ,则损失将改为每个小批量求和。当 reduce 为 False 时忽略。默认值: True

  • ignore_index (int, 可选) – 指定一个忽略的目标值,该值不参与输入梯度。当 size_average 等于 True 时,损失将在非忽略的目标上平均。注意, ignore_index 仅适用于包含类索引的目标。默认值:-100

  • reduce(布尔值,可选)- 已弃用(参见 reduction )。默认情况下,损失会在每个 minibatch 的观测上平均或求和,具体取决于 size_average 。当 reduceFalse 时,将返回每个批次的损失,并忽略 size_average 。默认: True

  • reduction(字符串,可选)- 指定应用于输出的缩减方式: 'none' | 'mean' | 'sum''none' :不应用缩减, 'mean' :输出总和将除以输出中的元素数量, 'sum' :输出将被求和。注意: size_averagereduce 正在被弃用,在此期间,指定这两个参数之一将覆盖 reduction 。默认: 'mean'

  • label_smoothing(浮点数,可选)- 一个位于[0.0, 1.0]之间的浮点数。指定计算损失时的平滑量,其中 0.0 表示无平滑。目标值成为原始真实值和均匀分布的混合,如 Rethinking the Inception Architecture for Computer Vision 中所述。默认值: 0.00.0

返回类型:

张量

形状:
  • 输入:形状 (C)(C)(N,C)(N, C)(N,C,d1,d2,...,dK)(N, C, d_1, d_2, ..., d_K) ,在 K 维损失的情况下, K1K \geq 1

  • Target: 如果包含类索引,形状为 ()()(N)(N)(N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K) ,在 K 维损失的情况下,每个值应在 K1K \geq 1 之间。如果包含类概率,形状与输入相同,每个值应在 [0,C)[0, C) 之间。

哪儿

C=number of classesN=batch size\begin{aligned} C ={} & \text{number of classes} \\ N ={} & \text{batch size} \\ \end{aligned}

示例:

>>> # Example of target with class indices
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.randint(5, (3,), dtype=torch.int64)
>>> loss = F.cross_entropy(input, target)
>>> loss.backward()
>>>
>>> # Example of target with class probabilities
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.randn(3, 5).softmax(dim=1)
>>> loss = F.cross_entropy(input, target)
>>> loss.backward()

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

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

查看资源