[深度学习][pytorch][原创]crnn在高版本pytorch上训练loss为nan解决办法

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[深度学习][pytorch][原创]crnn在高版本pytorch上训练loss为nan解决办法相关的知识,希望对你有一定的参考价值。

最近研究了下CRNN各种pytorch版本,发现里面一大半都是训练有问题,典型问题就是Loss训练几个epoch就变成nan,这样项目在github上有很多,我使用的是pytorch==1.7.0版本,之后发现一个很好解决方法。像网上说什么改学习率,梯度裁剪等等一堆都试了全部没用,偶然成功了一个项目发现为啥他就是对的,原来是CTCLoss设置问题,在高版本pytorch里面,需要在初始CTCLoss时候加个参数即可。

from torch.nn import CTCLoss

ctc_loss=CTCLoss(zero_infinity=True)

这样就是不会出现loss为nan问题,而且测试发现模型预测也正常,看起来这种方法是可行的。如果您遇到这种问题可以试试,如果觉得有用可以在下方留言。

以上是关于[深度学习][pytorch][原创]crnn在高版本pytorch上训练loss为nan解决办法的主要内容,如果未能解决你的问题,请参考以下文章

[深度学习][OCR][原创]CRNN_Chinese_Characters_Rec训练360w数据集提示keyerror错误解决方法

最新 | 哪个深度学习框架发展更快?TensorFlow还是PyTorch?

使用谷歌colab训练crnn模型

[深度学习][原创]yolov5在GTX1660Ti上训练nan解决方法

对比学习:《深度学习之Pytorch》《PyTorch深度学习实战》+代码

[十九]深度学习Pytorch-可视化工具TensorBoard