快捷方式

torch.nn.functional.binary_cross_entropy_with_logits

torch.nn.functional.binary_cross_entropy_with_logits(input, target, weight=None, size_average=None, reduce=None, reduction='mean', pos_weight=None)[來源][來源]

計算目標和輸入 logits 之間的二元交叉熵。

有關詳細資訊,請參閱BCEWithLogitsLoss

參數
  • input (Tensor) – 任意形狀的張量,作為未正規化的分數(通常稱為 logits)。

  • target (Tensor) – 與輸入張量形狀相同的張量,其值介於 0 和 1 之間。

  • weight (Tensor, optional) – 如果提供手動調整比例的權重,則會重複該權重以匹配輸入張量的形狀。

  • size_average (bool, optional) – 已棄用 (請參閱 reduction)。 預設情況下,損失會在批次中針對每個損失元素進行平均。 請注意,對於某些損失,每個樣本有多個元素。 如果 size_average 欄位設定為 False,則會改為對每個小批次進行損失總和。 當 reduce 為 False 時,會忽略此參數。 預設值: True

  • reduce (bool, optional) – 已棄用 (請參閱 reduction)。 預設情況下,根據 size_average,損失會在每個小批次的觀察結果中進行平均或求和。 當 reduceFalse 時,會改為針對每個批次元素傳回損失,並忽略 size_average。 預設值: True

  • reduction (str, optional) – 指定要應用於輸出的縮減方式: 'none' | 'mean' | 'sum''none':不會應用任何縮減; 'mean':輸出總和將除以輸出中的元素數量; 'sum':輸出將會被加總。 注意: size_averagereduce 正在逐步棄用,在此期間,指定這兩個參數中的任何一個都會覆寫 reduction。 預設值: 'mean'

  • pos_weight (Tensor, optional) – 正樣本的權重,將與目標張量進行廣播。 必須是一個沿著類別維度與類別數量大小相等的張量。 請密切注意 PyTorch 的廣播語意,以便實現所需的運算。 對於大小為 [B, C, H, W] (其中 B 為批次大小) 的目標,大小為 [B, C, H, W] 的 pos_weight 將對批次的每個元素應用不同的 pos_weights,或者 [C, H, W] 將對整個批次應用相同的 pos_weights。 若要對 2D 多類別目標 [C, H, W] 的所有空間維度應用相同的正權重,請使用:[C, 1, 1]。 預設值: None

回傳類型

Tensor

範例

>>> input = torch.randn(3, requires_grad=True)
>>> target = torch.empty(3).random_(2)
>>> loss = F.binary_cross_entropy_with_logits(input, target)
>>> loss.backward()

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

取得初學者和高級開發人員的深入教學

檢視教學

資源

尋找開發資源並解答您的問題

檢視資源