假设 1个图像样本由神经网络处理后的输出是 size 10×4 的tensor,随机生成一个tensor,

使用Sigmoid对该tensor进行概率变换,tensor的每个数值的变换都是相互独立的,下面得出预测的概率分布,

我们在这里随机生成一个真值的概率分布y,

自己定义一下BCELoss,需要输入预测的概率分布和真值的概率分布,

手动计算一下,结果一致,

使用F.binary_cross_entropy 验证一下,同样需要输入预测的概率分布和真值的概率分布,

再使用F.binary_cross_entropy_with_logits验证一下,直接输入神经网络的输出和真值的概率分布,

 

 

 

 

 

 

 

 

 

 

 

 

BCELoss与BCEWithLogitsLoss的关联:BCEWithLogitsLoss = Sigmoid + BCELoss,

 

nn接口                                              Function接口

nn.BCELoss( )                                  F.binary_cross_entropy( )

nn.BCEWithLogitsLoss( )                 F.binary_cross_entropy_with_logits( )

 

 

Enjoy it!

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/booturbo/p/17352468.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!