当前位置:   article > 正文

torch.nn.L1Loss用法

torch.nn.l1loss

L1LOSS

CLASS torch.nn.L1Loss(size_average=None, reduce=None, reduction: str = 'mean')

创建一个标准来测量输入x和目标y中每个元素之间的平均绝对误差(MAE)

未减少的损失(即 reduction 设置为'none')可以描述为:

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

其中 N 是 batch size. 如果 reduction 不是 'none' (默认为 'mean'), 那么:

\large \bg_green \small \ell(x, y) = \begin{cases} \operatorname{mean}(L), & \text{if reduction} = \text{'mean';}\\ \operatorname{sum}(L), & \text{if reduction} = \text{'sum'.} \end{cases}ℓ(x,y)={mean(L),sum(L),​if reduction=’mean’;if reduction=’sum’.​

x和y是任意形状的张量,每个张量总共有n个元素。

平均值运算仍对所有元素进行运算,并除以n。

如果设置 reduction = 'sum',则可以避免除以n。

Parameters

  • size_average (booloptional) – Deprecated (see reduction). By default, the losses are averaged over each loss element in the batch. Note that for some losses, there are multiple elements per sample. If the field size_average is set to False, the losses are instead summed for each minibatch. Ignored when reduce is False. Default: True。默认情况下,损失是batch中每个损失元素的平均数。 请注意,对于某些损失,每个样本有多个元素如果将size_average字段设置为False,则损失是每个minibatch的总和。 当reduce为False时被忽略。 默认值:True。

  • reduce (booloptional) – Deprecated (see reduction). By default, the losses are averaged or summed over observations for each minibatch depending on size_average. When reduce is False, returns a loss per batch element instead and ignores size_average. Default: True。默认情况下,根据size_average对每个minibatch的观察结果求平均或求和当reduce为False时,返回每个batch元素损失,并忽略size_average。 默认值:True。

  • reduction (stringoptional) – Specifies the reduction to apply to the output: 'none' | 'mean' | 'sum''none': no reduction will be applied, 'mean': the sum of the output will be divided by the number of elements in the output, 'sum': the output will be summed. Note: size_average and reduce are in the process of being deprecated, and in the meantime, specifying either of those two args will override reduction. Default: 'mean'。指定要应用于输出的缩减量:'none'| “mean” | 'sum'。 'none':不应用任何reduction,'mean':输出的总和除以输出中元素的数量,'sum':输出的总和。 注意:size_average和reduce正在弃用过程中,与此同时,指定这两个args中的任何一个将覆盖reduction。 默认值:'mean'

Shape:

  • Input: (N, ∗) where ∗ means, any number of additional dimensions

  • Target: (N, ∗), same shape as the input

  • Output: scalar. If reduction is 'none', then (N, ∗), same shape as the input

Examples:

  1. >>> loss = nn.L1Loss()
  2. >>> input = torch.randn(3, 5, requires_grad=True)
  3. >>> target = torch.randn(3, 5)
  4. >>> output = loss(input, target)
  5. >>> output.backward()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/354389
推荐阅读
相关标签
  

闽ICP备14008679号