Spec-Zone.ru › PyTorch 2.14

L1Loss

class torch.nn.L1Loss(size_average=None, reduce=None, reduction='mean') [source]

Создаёт критерий, который измеряет среднюю абсолютную ошибку (MAE) между каждым элементом входных данных xx и целевым значением yy.

Функцию потерь без редукции (то есть при reduction, установленном в 'none') можно описать следующим образом:

ℓ(x,y)=L={l1,…,lN}⊤,ln=∣xn−yn∣,\ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad l_n = \left| x_n - y_n \right|,

где NN — размер пакета. Если reduction не равно 'none' (значение по умолчанию — 'mean'), то:

ℓ(x,y)={mean⁡(L),if reduction=‘mean’;sum⁡(L),if reduction=‘sum’.\ell(x, y) = \begin{cases} \operatorname{mean}(L), & \text{if reduction} = \text{`mean';}\\ \operatorname{sum}(L), & \text{if reduction} = \text{`sum'.} \end{cases}

xx и yy — тензоры произвольной формы, каждый из которых содержит в общей сложности NN элементов.

Операция суммирования по-прежнему выполняется для всех элементов и делит результат на NN.

Деления на NN можно избежать, если установить reduction = 'sum'.

Поддерживаются входные данные с действительными и комплексными значениями.

Параметры:
  • 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.L1Loss()
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.randn(3, 5)
>>> output = loss(input, target)
>>> output.backward()
forward(input, target) [source]

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

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

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.L1Loss.html

Spec-Zone.ru

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