首页 > 其他 > 详细

[DL]pytorch中部分损失函数粗解:NLLLoss与CrossEntropyLoss,BCELoss与CrossEntropyLoss,BCELoss与BCEWithLosgitsLoss之间的区别

时间:2020-07-07 23:39:29      阅读:120      评论:0      收藏:0      [点我收藏+]

1、NLLLoss与CrossEntropy之间的区别:

NLLLoss中是先做log-softmax处理后,再取负即可。

CrossEntropyLoss则直接计算损失,内部会自动进行softmax处理。

2、BCELoss与CrossEntropyLoss之间的区别:(交叉熵的计算公式不一样)

BCELoss的计算公式:

技术分享图片

 

CrossEntropyLoss的计算公式:

 技术分享图片

 

3、BCELoss与BCEWithLogitsLoss之间的区别:

BCELoss:先做sigmoid再做交叉熵,然后先对行求均值,再对所有的均值求一个均值。

BCEWithLogitsLoss:直接做交叉熵和均值处理(函数内部会自动做sigmoid处理)

 

参考网址:

[1]https://blog.csdn.net/qq_22210253/article/details/85229988

[2]https://zhuanlan.zhihu.com/p/98785902

[3]https://www.jianshu.com/p/0062d04a2782

[DL]pytorch中部分损失函数粗解:NLLLoss与CrossEntropyLoss,BCELoss与CrossEntropyLoss,BCELoss与BCEWithLosgitsLoss之间的区别

原文:https://www.cnblogs.com/mj-selina/p/13264087.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!