• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

nn.CrossEntropyLoss()->nn.SoftmaxCrossEntropyWithLogits

开发技术 开发技术 2周前 (06-10) 11次浏览
问题描述:
在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
喜欢 (0)