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 для компьютерного зрения. По умолчанию: .
- Тип возвращаемого значения:
- Форма:
-
- Входные данные: форма , или , где , в случае функции потерь размерности
K. - Целевые данные: если содержат индексы классов, форма , или , где , в случае функции потерь K-мерной размерности, причем каждое значение должно находиться в диапазоне . Если целевые данные содержат вероятности классов, они имеют ту же форму, что и входные данные, и каждое значение должно находиться в диапазоне .
где:
- Входные данные: форма , или , где , в случае функции потерь размерности
Примеры:
>>> # 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