bce_loss = nn.BCELoss(reduction='none') # 默认选项是mean, 设置为none后会返回一个和target一样尺寸的tensor, 每个位置的数字对应网络输出和target对应位置上的loss
weight = torch.zeros_like(target)
weight = torch.fill_(weight, 0.2)
weight[target > 0] = 0.8
bce_loss = bce_loss(input.float(), target.float())
bce_loss = torch.sum(bce_loss * weight) # torch.sum() 或者 torch.mean() 都可以看个人选择