Spec-Zone.ru › PyTorch 2.14

SoftMarginLoss

class torch.nn.SoftMarginLoss(size_average=None, reduce=None, reduction='mean') [исходный код]

Создаёт функцию потерь для логистической функции потерь классификации на два класса между входным тензором xx и целевым тензором yy (содержащим 1 или -1).

loss(x,y)=∑ilog⁡(1+exp⁡(−y[i]∗x[i]))x.nelement()\text{loss}(x, y) = \sum_i \frac{\log(1 + \exp(-y[i]*x[i]))}{\text{x.nelement}()}
Параметры:
  • size_average (bool, необязательно) – Устарел (см. reduction). По умолчанию потери усредняются по каждому элементу потерь в пакете. Обратите внимание, что для некоторых функций потерь на один образец приходится несколько элементов. Если для поля size_average задано значение False, вместо этого потери суммируются для каждого мини-пакета. Игнорируется, если reduce имеет значение False. По умолчанию: True
  • reduce (bool, необязательно) – Устарел (см. reduction). По умолчанию потери усредняются или суммируются по наблюдениям для каждого мини-пакета в зависимости от size_average. Если reduce имеет значение False, возвращает потери для каждого элемента пакета и игнорирует size_average. По умолчанию: True
  • reduction (str, необязательно) – Определяет способ сведения выходных данных: 'none' | 'mean' | 'sum'. 'none': сведение не выполняется, 'mean': сумма выходных данных делится на количество элементов в выходных данных, 'sum': выходные данные суммируются. Примечание: size_average и reduce устаревают, и пока что указание любого из этих аргументов переопределяет reduction. По умолчанию: 'mean'
Форма:
  • Входные данные: (∗)(*), где ∗* означает любое количество измерений.
  • Целевые данные: (∗)(*), той же формы, что и входные данные.
  • Выходные данные: скаляр. Если reduction имеет значение 'none', то (∗)(*), той же формы, что и входные данные.

Примеры

>>> loss = nn.SoftMarginLoss()
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.randn(3, 5).sign()
>>> output = loss(input, target)
>>> output.backward()
forward(input, target) [исходный код]

Выполняет прямой проход.

Тип возвращаемого значения:

Tensor

© 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.SoftMarginLoss.html

Spec-Zone.ru

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