import torch
import torch.nn as nn
a = torch.tensor([0.1,0.3,0.6])
b = torch.tensor([0,0,1])
loss = nn.BCELoss(reduction='sum')
nn.BCELoss(a,b.float())
得到输出结果为tensor(0.9729)
,其中BCELoss的计算过程为:
- 首先这里的预测结果有3个,分别为(p1=0.1,p2=0.2,p3=0.6),对应的真实标签为(y1=0,y2=0,y3=1)而二值交叉熵的计算公式为: − y ∗ l o g p − ( 1 − y ) ∗ l o g ( 1 − p ) -{y*logp-(1-y)*log(1-p)} −y∗