带权重的二分类交叉熵bce_loss写法

原本的bceloss

bce_loss = nn.BCELoss(size_average=True)

分别给目标0.8,背景0.2 的权重后

def bce_loss_w(input,target):
    # bce_loss = nn.BCELoss(size_average=True)
    weight=torch.zeros_like(target)
    weight=torch.fill_(weight,0.3)
    weight[target>0]=0.7
    loss=nn.BCELoss(weight=weight,size_average=True)(input,target.float())
    return loss


版权声明:本文为m0_51032217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。