pytorch学习笔记——二分类交叉熵损失函数

pytorch学习笔记——二分类交叉熵损失函数

二分类交叉熵函数

  • binary_cross_entropy

    公式:
    l o s s = − y ∗ log ⁡ ( y ^ ) − ( 1 − y ) ∗ l o g ( 1 − y ^ ) loss=-y\ast \log \left( \widehat {y}\right) -\left( 1-y\right) \ast log\left( 1-\widehat {y}\right) loss=ylog(y )(1y)log(1y )

接下来使用代码自己编辑计算公式和调用pytorch自带的函数分别计算
首先定义标签值和预测值,预测值已经过sigmoid函数激活

y_true = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
y_pred = np.array([0.2, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8])

自编码计算

my_loss = - y_true * np.log(y_pred) - (1 - y_true) * np.log(1 - y_pred)
mean_my_loss = np.mean(my_loss)
print('my_loss:', mean_bce_loss)

输出:my_loss: 0.2231435513142097

调用pytorch自带的函数计算

torch_pred = torch.tensor(y_pred)
torch_true = torch.tensor(y_true)
bce_loss = F.binary_cross_entropy(torch_pred, torch_true)
print('bce_loss:', bce_loss)

输出:bce_loss: 0.2231

结论:两个输出基本一致

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值