torch.nn.functional.nll_loss
-
torch.nn.functional.nll_loss(input, target, weight=None, size_average=None, ignore_index=-100, reduce=None, reduction='mean')[source] -
Потеря отрицательного логарифма вероятности.
См.
NLLLossдля подробностей.- Параметры
-
-
input (Тензор) – , где
C = number of classesили в случае потери 2D, или , где в случае потери K-мерной потери.inputожидается, что будет логарифмом вероятностей. - target (Тензор) – , где каждое значение равно , или , где для K-мерной потери.
-
weight (Тензор, необязательно) – вес для ручного изменения масштаба каждой категории. Если задано, должно быть тензором размера
C -
size_average (bool, необязательно) – Устарело (см.
reduction). По умолчанию потери усредняются по каждому элементу потери в наборе данных. Обратите внимание, что для некоторых потерь существует несколько элементов на образец. Если полеsize_averageустановлено вFalse, потери суммируются для каждой мини-партії. Игнорируется, когда reduce равноFalse. По умолчанию:True -
ignore_index (int, необязательно) – Указывает целевое значение, которое игнорируется и не вносит вклад в градиент входных данных. Когда
size_averageравноTrue, потеря усредняется по неигнорируемым целям. По умолчанию: -100 -
reduce (bool, необязательно) – Устарело (см.
reduction). По умолчанию, потери усредняются или суммируются по наблюдениям для каждой мини-партії в зависимости отsize_average. КогдаreduceравноFalse, возвращает потерю на элемент пакета и игнорируетsize_average. По умолчанию:True -
reduction (str, необязательно) – Указывает уменьшение, которое нужно применить к выводу:
'none'|'mean'|'sum'.'none': не будет применено уменьшение,'mean': сумма вывода будет разделена на количество элементов в выводе,'sum': вывод будет суммирован. Примечание:size_averageиreduceнаходятся в процессе устаревания, и тем временем указание любого из этих двух аргументов переопределитreduction. По умолчанию:'mean'
-
input (Тензор) – , где
- Тип возвращаемого значения
Пример:
>>> # input is of size N x C = 3 x 5 >>> input = torch.randn(3, 5, requires_grad=True) >>> # each element in target has to have 0 <= value < C >>> target = torch.tensor([1, 0, 4]) >>> output = F.nll_loss(F.log_softmax(input, dim=1), target) >>> output.backward()
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.functional.nll_loss.html