快捷方式

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)[source][source]

計算 target 和 input logits 之間的二元交叉熵。

詳見 BCEWithLogitsLoss

引數
  • input (Tensor) – 形狀任意的 Tensor,作為未歸一化得分(通常稱為 logits)。

  • target (Tensor) – 與 input 形狀相同的 Tensor,值介於 0 和 1 之間

  • weight (Tensor, optional) – 手動重新縮放的權重,如果提供,它會重複以匹配 input tensor 的形狀

  • size_average (bool, optional) – 已棄用(詳見 reduction)。預設情況下,損失值在批次中的每個損失元素上取平均。注意,對於某些損失函式,每個樣本有多個元素。如果 size_average 欄位設定為 False,則損失值將改為在每個 minibatch 上求和。當 reduce 為 False 時忽略此引數。預設值: True

  • reduce (bool, optional) – 已棄用(詳見 reduction)。預設情況下,損失值根據 size_average 在每個 minibatch 的觀察值上取平均或求和。當 reduceFalse 時,改為返回每個批次元素的損失值,並忽略 size_average。預設值: True

  • reduction (str, optional) – 指定應用於輸出的歸約方式:'none' | 'mean' | 'sum''none':不應用歸約,'mean':輸出的總和將除以輸出中的元素數量,'sum':輸出將求和。注意:size_averagereduce 正在棄用過程中,在此期間,指定這兩個引數中的任何一個都將覆蓋 reduction。預設值: 'mean'

  • pos_weight (Tensor, optional) – 正樣本的權重,將與 target 進行廣播。必須是一個 tensor,其類別維度的大小等於類別數量。請密切注意 PyTorch 的廣播語義,以實現所需的操作。對於大小為 [B, C, H, W] 的 target(其中 B 為批次大小),大小為 [B, C, H, W] 的 pos_weight 將對批次的每個元素應用不同的 pos_weight,而 [C, H, W] 將對整個批次應用相同的 pos_weight。要在 2D 多類別 target [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 的全面開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源