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

一、NLLLoss与CrossEntropy之间的区别:git

NLLLoss中是先作log-softmax处理后,再取负便可。函数

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

二、BCELoss与CrossEntropyLoss之间的区别:(交叉熵的计算公式不同)3d

BCELoss的计算公式:blog

 

CrossEntropyLoss的计算公式:get

 

 

三、BCELoss与BCEWithLogitsLoss之间的区别:it

BCELoss:先作sigmoid再作交叉熵,而后先对行求均值,再对全部的均值求一个均值。bfc

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

 

参考网址:d3

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

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

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

相关文章
相关标签/搜索