使用mindspore1.8中的mindspore.nn.CrossEntropyLoss训练网络,随着学习率的调低,损失会出现Nan的情况

使用mindspore.nn.CrossEntropyLoss训练网络,loss会突变为-inf,随着学习率的调低,出现nan的时间越早。

****************************************************解答*****************************************************

训练一个模型过程中会有很多因素影响效果(包括输出、异常等等)。 针对nan值这种情况,如果输入没有问题的话,也不代表输出的loss就不会变成nan。这种情况和使用什么工具开发之间没有直接联系(比方说如果你的计算中出现了除以0这种情况,几乎每一种python实现都会将结果取做nan)。因此可以搜索、参考下“pytorch训练出现nan”的处理方法。 另一种情况和具体的某个算子实现有关。这就需要定位。定位的话可以从log中看是哪个时候出现了问题,出现nan值时的一些参数是什么样的。不过我又看了一下你的log.txt,里面虽然只有loss值,但是显示出很早——几乎就是一开始就出现了高原现象,即,你的loss值很早就出现了“收敛”现象,所以个人感觉模型本身是出现问题的根源。可能调一下模型的设计会更好一些?(包括net和loss的设计)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值