MultiLabelSoftMarginLoss¶
- class torch.nn.MultiLabelSoftMarginLoss(weight=None, size_average=None, reduce=None, reduction='mean')[source][source]¶
建立一個準則,基於最大熵最佳化多標籤一對多損失,損失計算在形狀為 的輸入和形狀為 的目標 之間。對於迷你批處理中的每個樣本,計算公式如下:
其中 ,且 。
- 引數
weight (Tensor, optional) – 給定每個類別的手動重新縮放權重。如果給定,它必須是形狀為 C 的 Tensor。否則,將被視為全為一。
size_average (bool, optional) – 已棄用(參見
reduction)。預設情況下,損失按批次中的每個損失元素進行平均。請注意,對於某些損失,每個樣本有多個元素。如果欄位size_average設定為False,則損失將改為對每個迷你批次進行求和。當reduce為False時忽略。預設值:Truereduce (bool, optional) – 已棄用(參見
reduction)。預設情況下,根據size_average對每個迷你批次的觀測值進行平均或求和。當reduce為False時,改為返回每個批次元素的損失,並忽略size_average。預設值:Truereduction (str, optional) – 指定要應用於輸出的歸約(reduction)方法:
'none'|'mean'|'sum'。'none':不應用歸約;'mean':輸出的總和將除以輸出中的元素數量;'sum':對輸出進行求和。注意:size_average和reduce正在被棄用,同時,指定這兩個引數中的任何一個都將覆蓋reduction。預設值:'mean'
- 形狀
輸入:,其中 N 是批處理大小,C 是類別數量。
目標:,標籤目標必須與輸入的形狀相同。
輸出:標量。如果
reduction為'none',則形狀為 。