Spec-Zone.ru › PyTorch 2.14

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) [исходный код]

Вычисляет кросс-энтропийную функцию потерь между входными логитами и целевыми значениями.

Подробности см. в CrossEntropyLoss.

Параметры:
  • input (Tensor) – Предсказанные ненормализованные логиты; поддерживаемые формы см. в разделе «Форма» ниже.
  • target (Tensor) – Индексы классов или вероятности классов в эталонных данных; поддерживаемые формы см. в разделе «Форма» ниже.
  • weight (Tensor, необязательный) – вес для ручного масштабирования, задаваемый для каждого класса. Если указан, должен быть тензором размера C
  • size_average (bool, необязательный) – Устарел (см. reduction).
  • ignore_index (int, необязательный) – Задает целевое значение, которое игнорируется и не влияет на градиент входных данных. Если size_average равно True, потери усредняются по целевым значениям, которые не игнорируются. Обратите внимание, что ignore_index применим только в том случае, если целевые данные содержат индексы классов. По умолчанию: -100
  • reduce (bool, необязательный) – Устарел (см. reduction).
  • reduction (str, необязательный) – Задает способ сведения выходных данных: 'none' | 'mean' | 'sum'. 'none': сведение не выполняется, 'mean': сумма выходных значений делится на их количество, 'sum': выходные значения суммируются. Примечание: size_average и reduce устаревают, и до их удаления указание любого из этих двух аргументов переопределяет reduction. По умолчанию: 'mean'
  • label_smoothing (float, необязательный) – Число с плавающей запятой в диапазоне [0.0, 1.0]. Задает степень сглаживания при вычислении функции потерь, где 0.0 означает отсутствие сглаживания. Целевые значения становятся смесью исходных эталонных данных и равномерного распределения, как описано в статье Переосмысление архитектуры Inception для компьютерного зрения. По умолчанию: 0.00.0.
Тип возвращаемого значения:

Tensor

Форма:
  • Входные данные: форма (C)(C), (N,C)(N, C) или (N,C,d1,d2,...,dK)(N, C, d_1, d_2, ..., d_K), где K≥1K \geq 1, в случае функции потерь размерности K.
  • Целевые данные: если содержат индексы классов, форма ()(), (N)(N) или (N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K), где K≥1K \geq 1, в случае функции потерь K-мерной размерности, причем каждое значение должно находиться в диапазоне [0,C)[0, C). Если целевые данные содержат вероятности классов, они имеют ту же форму, что и входные данные, и каждое значение должно находиться в диапазоне [0,1][0, 1].

где:

C=количество классовN=размер пакета\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()

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.functional.cross_entropy.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API