L1Loss¶
- class torch.nn.L1Loss(size_average=None, reduce=None, reduction='mean')[source][source]¶
建立一個準則,用於測量輸入 中每個元素與目標 之間的平均絕對誤差 (MAE)。
未經簡化的損失(即,將
reduction
設定為'none'
)可以描述為其中 是批次大小。 如果
reduction
不是'none'
(預設為'mean'
),則:和 是任意形狀的張量,各自總共有 個元素。
總和運算仍然對所有元素進行運算,並除以 。
如果將
reduction = 'sum'
設為,則可以避免除以 。支援實數值和複數值輸入。
- 參數
size_average (bool, optional) – 已棄用 (請參閱
reduction
)。 預設情況下,損失會在批次中的每個損失元素上取平均值。 請注意,對於某些損失,每個樣本有多個元素。 如果欄位size_average
設定為False
,則會改為將每個小批次的損失加總。 當reduce
為False
時,將會忽略此設定。 預設值:True
reduce (bool, optional) – 已棄用 (請參閱
reduction
)。 預設情況下,損失會根據size_average
在每個小批次的觀測值上取平均值或加總。 當reduce
為False
時,會改為傳回每個批次元素的損失,並忽略size_average
。 預設值:True
reduction (str, optional) – 指定要應用於輸出的 reduction 方式:
'none'
|'mean'
|'sum'
。'none'
:不使用 reduction;'mean'
:輸出的總和將除以輸出中的元素數量;'sum'
:輸出將被加總。注意:size_average
和reduce
正在逐步淘汰中,在此期間,指定這兩個參數中的任何一個都將覆蓋reduction
。預設值:'mean'
- 形狀 (Shape)
輸入 (Input): ,其中 表示任意數量的維度。
目標 (Target): ,與輸入相同的形狀。
輸出 (Output): 純量。如果
reduction
為'none'
,則為 ,與輸入相同的形狀。
範例
>>> loss = nn.L1Loss() >>> input = torch.randn(3, 5, requires_grad=True) >>> target = torch.randn(3, 5) >>> output = loss(input, target) >>> output.backward()