遇到的大坑:第二个batch后,输出变成nan

根据逐步排查,最后发现是第一个batch的反传梯度变成了nan,怀疑是梯度爆炸,但是自己的函数里面一开始已经考虑了当x=0时会发生梯度爆炸的问题(此时还感觉自己很牛逼),但结果还是梯度爆炸,就很烦躁,直到我发现了下面的帖子,跟我的情况几乎一模一样,自己以前真的没有考虑到这个细节,具体解决方案直接看下面的帖子就行:

【PyTorch】梯度爆炸、loss在反向传播变为nan - 知乎0. 遇到大坑笔者在最近的项目中用到了自定义loss函数,代码一切都准备就绪后,在训练时遇到了梯度爆炸的问题,每次训练几个iterations后,梯度和loss都会变为nan。一般情况下,梯度变为nan都是出现了 \log(0) , \f…https://zhuanlan.zhihu.com/p/79046709

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值