PoissonNLLLoss¶
- class torch.nn.PoissonNLLLoss(log_input=True, full=False, size_average=None, eps=1e-08, reduce=None, reduction='mean')[原始碼][原始碼]¶
具有目標的 Poisson 分佈的負對數概似損失。
這個損失函數可以描述為
最後一項可以省略,或使用斯特林公式 (Stirling formula) 近似。當目標值大於 1 時,使用近似值。對於小於或等於 1 的目標值,則在損失函數中加入零。
- 參數
log_input (bool, optional) – 如果
True
,則損失函數計算為 ,如果False
,則損失函數為 。full (bool, optional) –
是否計算完整損失,即是否加入斯特林近似項
size_average (bool, optional) – 已棄用 (請參閱
reduction
)。預設情況下,損失會在批次中對每個損失元素進行平均。請注意,對於某些損失,每個樣本有多個元素。如果欄位size_average
設定為False
,則會對每個小批次進行損失總和。當reduce
為False
時,將會忽略此設定。預設值:True
eps (float, optional) – 用於避免評估 的小數值,當
log_input = False
時。預設值: 1e-8reduce (bool, optional) – 已棄用 (請參閱
reduction
)。預設情況下,損失會根據size_average
在每個小批次的觀察值上進行平均或總和。當reduce
為False
時,會改為針對每個批次元素傳回一個損失,並忽略size_average
。預設值:True
reduction (str, optional) – 指定要套用到輸出的縮減方式:
'none'
|'mean'
|'sum'
。'none'
:不會套用任何縮減,'mean'
:輸出的總和將除以輸出中的元素數量,'sum'
:輸出將被加總。注意:size_average
和reduce
正在逐步淘汰中,同時,指定這兩個參數中的任何一個都會覆蓋reduction
。預設值:'mean'
範例
>>> loss = nn.PoissonNLLLoss() >>> log_input = torch.randn(5, 2, requires_grad=True) >>> target = torch.randn(5, 2) >>> output = loss(log_input, target) >>> output.backward()
- 形狀
輸入: , 其中 表示任何數量的維度。
目標: , 與輸入相同的形狀。
輸出: 預設為純量。如果
reduction
為'none'
,則 , 與輸入相同的形狀。