Spec-Zone.ru › PyTorch 2

PoissonNLLLoss

class torch.nn.PoissonNLLLoss(log_input=True, full=False, size_average=None, eps=1e-08, reduce=None, reduction='mean') [source]

Потеря отрицательного логарифма правдоподобия с распределением Пуассона для целевого значения.

Потеря может быть описана как:

целевое значение∼Poisson(вход)потеря(вход,целевое значение)=вход−целевое значение∗log⁡(вход)+log⁡(факториал целевого значения)\text{целевое значение} \sim \mathrm{Poisson}(\text{вход}) \text{потеря}(\text{вход}, \text{целевое значение}) = \text{вход} - \text{целевое значение} * \log(\text{вход}) + \log(\text{факториал целевого значения})

Последний член может быть опущен или аппроксимирован с помощью формулы Стирлинга. Приближение используется для значений целевого значения больше 1. Для целевых значений, меньших или равных 1, нули добавляются к потере.

Параметры
  • log_input (bool, optional) – если True потеря вычисляется как exp⁡(вход)−целевое значение∗вход\exp(\text{вход}) - \text{целевое значение}*\text{вход}, если False потеря равна вход−целевое значение∗log⁡(вход+eps)\text{вход} - \text{целевое значение}*\log(\text{вход}+\text{eps}).
  • full (bool, optional) –

    вычислять полную потерю, т. е. добавить член аппроксимации Стирлинга

    целевое значение∗log⁡(целевое значение)−целевое значение+0.5∗log⁡(2πцелевое значение).\text{целевое значение}*\log(\text{целевое значение}) - \text{целевое значение} + 0.5 * \log(2\pi\text{целевое значение}).
  • size_average (bool, optional) – Устарело (см. reduction). По умолчанию потери усредняются по каждому элементу потери в батче. Обратите внимание, что для некоторых потерь есть несколько элементов на образец. Если поле size_average установлено в False, потери вместо этого суммируются для каждой мини-парттии. Игнорируется, когда reduce равно False. По умолчанию: True
  • eps (float, optional) – Маленькое значение, чтобы избежать вычисления log⁡(0)\log(0) когда log_input = False. По умолчанию: 1e-8
  • reduce (bool, optional) – Устарело (см. reduction). По умолчанию потери усредняются или суммируются по наблюдениям для каждой мини-парттии в зависимости от size_average. Когда reduce равно False, возвращает потерю на элемент пакет, игнорирует size_average. По умолчанию: True
  • reduction (str, optional) – Указывает на применение операции сворачивания к выходу: 'none' | 'mean' | 'sum'. 'none': не будет применено сокращения, 'mean': сумма вывода будет разделена на количество элементов в выводе, 'sum': вывод будет суммироваться. Примечание: size_average и reduce в процессе устаревания, и в то же время, указание любого из этих двух аргументов переопределит reduction. По умолчанию: 'mean'

Примеры:

>>> loss = nn.PoissonNLLLoss()
>>> log_input = torch.randn(5, 2, requires_grad=True)
>>> target = torch.randn(5, 2)
>>> output = loss(log_input, target)
>>> output.backward()
Форма:
  • Вход: (∗)(*), где ∗* означает любое количество измерений.
  • Целевое значение: (∗)(*), форма такая же, как у входных данных.
  • Вывод: скаляр по умолчанию. Если reduction равно 'none', то (∗)(*), такая же форма, как у входных данных.

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.PoissonNLLLoss.html

Spec-Zone.ru

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