torch.nn.functional.binary_cross_entropy¶
- torch.nn.functional.binary_cross_entropy(input, target, weight=None, size_average=None, reduce=None, reduction='mean')[原始碼][原始碼]¶
衡量目標和輸入機率之間的二元交叉熵。
詳見
BCELoss。- 引數
input (Tensor) – 任意形狀的 Tensor,表示機率。
target (Tensor) – 與 input 形狀相同的 Tensor,其值在 0 到 1 之間。
weight (Tensor, 可選) – 手動重縮放權重,如果提供,將重複以匹配 input Tensor 的形狀。
size_average (bool, 可選) – 已棄用(見
reduction)。預設情況下,損失值會按批次中的每個損失元素進行平均。請注意,對於某些損失函式,每個樣本可能有多個元素。如果欄位size_average設定為False,則損失值將改為對每個 minibatch 求和。當 reduce 為False時忽略。預設值:Truereduce (bool, 可選) – 已棄用(見
reduction)。預設情況下,損失值會根據size_average對每個 minibatch 的觀察值進行平均或求和。當reduce為False時,將返回每個批次元素的損失值,並忽略size_average。預設值:Truereduction (str, 可選) – 指定應用於輸出的歸約方式:
'none'|'mean'|'sum'。'none':不應用歸約;'mean':輸出的總和將除以輸出中的元素數量;'sum':輸出將求和。注意:size_average和reduce正在被棄用,在此期間,指定這兩個引數中的任何一個都將覆蓋reduction。預設值:'mean'
- 返回型別
示例
>>> input = torch.randn(3, 2, requires_grad=True) >>> target = torch.rand(3, 2, requires_grad=False) >>> loss = F.binary_cross_entropy(torch.sigmoid(input), target) >>> loss.backward()