PoissonNLLLoss
-
class torch.nn.PoissonNLLLoss(log_input=True, full=False, size_average=None, eps=1e-08, reduce=None, reduction='mean')[исходный код] -
Функция потерь отрицательного логарифмического правдоподобия для распределения Пуассона целевой переменной.
Функцию потерь можно описать следующим образом:
Последний член можно опустить или аппроксимировать с помощью формулы Стирлинга. Аппроксимация используется для значений target больше 1. Для значений target, меньших или равных 1, к функции потерь добавляются нули.
- Параметры:
-
-
log_input (bool, необязательно) – если
True, функция потерь вычисляется как , еслиFalse, функция потерь равна . -
full (bool, необязательно) –
вычислять ли полную функцию потерь, то есть добавлять ли член с аппроксимацией Стирлинга
-
size_average (bool, необязательно) – Устарел (см.
reduction). По умолчанию значения функции потерь усредняются по каждому элементу функции потерь в пакете. Обратите внимание, что для некоторых функций потерь на один образец приходится несколько элементов. Если для поляsize_averageзадано значениеFalse, вместо этого значения функции потерь суммируются для каждого мини-пакета. Игнорируется, еслиreduceравноFalse. По умолчанию:True -
eps (float, необязательно) – Небольшое значение, предотвращающее вычисление , когда
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'
-
log_input (bool, необязательно) – если
Примеры
>>> 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', то , той же формы, что и входные данные.
-
forward(log_input, target)[исходный код] -
Выполняет прямой проход.
- Тип возвращаемого значения:
© 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.PoissonNLLLoss.html