在理解和修改QARV的代码时,出现了训练会因为nan而终止的问题,因此学习记录。
参考资料
Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因_pytorch nan-CSDN博客文章浏览阅读5.6w次,点赞135次,收藏489次。常见原因-1一般来说,出现NaN有以下几种情况:相信很多人都遇到过训练一个deep model的过程中,loss突然变成了NaN。在这里对这个问题做一个总结:1.如果在迭代的100轮以内,出现NaN,一般情况下的原因是因为你的学习率过高,需要降低学习率。可以不断降低学习率直至不出现NaN为止,一般来说低于现有学习率1-10倍即可。2.如果当前的网络是类似于RNN的循环神经网络的话,出现NaN可能是因为梯度爆炸的原因,一个有效的方式是增加“gradient clipping”(梯度截断来解决)_pytorch nanhttps://blog.csdn.net/ytusdc/article/details/122321907?fromshare=blogdetail&sharetype=blogdetail&sharerId=122321907&sharerefer=PC&sharesource=m0_61175448&sharefrom=from_link警惕!损失Loss为Nan或者超级大的原因警惕!损失Loss为Nan或者超级大的原因-腾讯云开发者社区-腾讯云训练或者预测过程中经常会遇到训练损失值或者验证损失值不正常、无穷大、或者直接nan的情况:https://cloud.tencent.com/developer/article/2346572?shareByChannel=link训练过程中Loss突然变为NaN的可能原因与解决
训练过程中Loss突然变为NaN的可能原因与解决_loss变成nan的原因-CSDN博客
在训模型的时候如果loss报Nan了,可能是因为什么?
在训模型的时候如果loss报Nan了,可能是因为什么?_模型训练出现为nan-CSDN博客
关于训练神经网路的诸多技巧Tricks(完全总结版)
关于训练神经网路的诸多技巧Tricks(完全总结版)-腾讯云开发者社区-腾讯云很多人都说训练神经网络和炼金术师炼药的过程相像,难以破解其中的黑盒子。其实不然,在训练的时候我们依然可以通过大量的技巧去最大化我们的训练效果,从而帮助我们的任务取得不错的精度,这些技巧是训练神经网络不可缺少的一环。https://cloud.tencent.com/developer/article/2346565?shareByChannel=link在显存足够的条件下,最好采用较大的batch-size进行训练,找到合适的学习率后,可以加快收敛速度。
fastai首席设计师Sylvain Gugger的一篇博客:How Do You Find A Good Learning Rate
Another data science student's blog – How Do You Find A Good Learning RateThis is the main hyper-parameter to set when we train a neural net, but how do you determine the best value? Here's a technique to quickly decide on one.https://sgugger.github.io/how-do-you-find-a-good-learning-rate.htmlWorse, a high learning rate could lead you to an increasing loss until it reaches nan.