MultiLabelSoftMarginLoss¶
- class torch.nn.MultiLabelSoftMarginLoss(weight=None, size_average=None, reduce=None, reduction='mean')[source][source]¶
建立一個標準,該標準基於最大熵,優化輸入 和目標 之間的一對多 (one-versus-all) 多標籤損失,大小為 。對於小批量 (minibatch) 中的每個樣本
其中 , 。
- 參數
weight (Tensor, optional) – 給予每個類別的手動調整權重。如果給定,它必須是大小為 C 的 Tensor。 否則,它會被視為全部為 1。
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) – 指定要套用至輸出的縮減:
'none'
|'mean'
|'sum'
。'none'
:不套用任何縮減,'mean'
:輸出的總和將除以輸出中的元素數,'sum'
:將對輸出進行總和。 注意:size_average
和reduce
正在棄用中,同時,指定這兩個參數中的任何一個都會覆寫reduction
。 預設值:'mean'
- 形狀
輸入: 其中 N 是批次大小,C 是類別數量。
目標: ,標籤目標必須與輸入形狀相同。
輸出:純量。 如果
reduction
為'none'
,則 。