Spec-Zone.ru › PyTorch 1

PoissonNLLLoss

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

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

Функция потерь может быть описана следующим образом:

target∼Poisson(input)loss(input,target)=input−target∗log⁡(input)+log⁡(target!)\text{target} \sim \mathrm{Poisson}(\text{input}) \text{loss}(\text{input}, \text{target}) = \text{input} - \text{target} * \log(\text{input}) + \log(\text{target!})

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

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

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

    target∗log⁡(target)−target+0.5∗log⁡(2πtarget).\text{target}*\log(\text{target}) - \text{target} + 0.5 * \log(2\pi\text{target}).
  • size_average (bool, необязательно) – Устарело (см. reduction). По умолчанию потери усредняются по каждому элементу функции потерь в пакете. Обратите внимание, что для некоторых функций потерь может быть несколько элементов на образец. Если поле size_average установлено в False, потери суммируются для каждого минипакета. Игнорируется, когда reduce равно False. По умолчанию: True
  • eps (float, необязательно) – Маленькое значение для предотвращения вычисления log⁡(0)\log(0) при log_input = False. По умолчанию: 1e-8
  • reduce (bool, необязательно) – Устарело (см. reduction). По умолчанию потери усредняются или суммируются по наблюдениям для каждого минипакета в зависимости от size_average. Когда reduce равно False, возвращает потери на элемент пакета и игнорирует size_average. По умолчанию: True
  • reduction (str, необязательно) – Указывает, какое сокращение применить к выводу: '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/1.13/generated/torch.nn.PoissonNLLLoss.html

Spec-Zone.ru

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