Spec-Zone.ru › PyTorch 2

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),если reduction=‘mean’;sum⁡(L),если 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()

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

Spec-Zone.ru

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