首页 > 其他 > 详细

nn.CrossEntropyLoss()->nn.SoftmaxCrossEntropyWithLogits

时间:2021-06-10 13:57:03      阅读:21      评论:0      收藏:0      [点我收藏+]
问题描述:
在pytorch中,利用nn.CrossEntropyLoss()求取的loss值是一个tensor标量,但是利用mindspore中nn.SoftmaxCrossEntropyWithLogits()求取的loss值是一个矢量(因为batct_size是32,所以求得的loss也是一个32*1的矢量)
原因:
在pytorch中,nn.CrossEntropyLoss()的参数默认值reduction=‘mean‘,求取的是平均值;
而在mindspore中,nn.SoftmaxCrossEntropyWithLogits的参数默认值reduction=‘none‘。
 
mindspore中
nn.SoftmaxCrossEntropyWithLogits(sparse=True, reduction ="mean")
pytorch中
nn.CrossEntropyLoss()

nn.CrossEntropyLoss()->nn.SoftmaxCrossEntropyWithLogits

原文:https://www.cnblogs.com/loyolh/p/14870602.html

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