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 具有相同形狀,且值介於 0 和 1 之間的 Tensor。
weight (Tensor, optional) – 如果提供,則手動調整比例的權重,它會重複以匹配 input Tensor 的形狀
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'
- 回傳類型
範例
>>> 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()