Error:function ‘LogSoftmaxBackward’ returned nan values in its 0th output.

原因分析

产生这个问题的原因可能有几种:
1.数据中出现NAN——数据清洗
2.梯度出现NAN——梯度裁减

解决方案

模型参数出现NAN,其实也是由梯度导致的,因为初始化你不可能就NAN把,那就是更新过程出现的,那肯定是梯度导致的模型参数NAN了,所以那些:让你重新初始化、降低学习率和加正则化约束模型参数、以及往log下加1e-9(其实我感觉这个不科学,logsoftmax分母为0,除非你没有数据~)的方法都没啥用。
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm)就可以解决了。

这个问题可能是因为多层网络梯度传播爆炸了,我是训练着训练着模型就bug了,然后我把查过的方法都试过了没啥用,用torch.isnan(param).int().sum() !=0这个判断准则把输入、梯度都检查了一遍,最后得到的解决方案。

Error:function ‘LogSoftmaxBackward‘ returned nan values in its 0th output.相关推荐

  1. Function ‘MseLossBackward0‘ returned nan values in its 0th output.

    这个比较奇怪的提示来自于Pytorch计算梯度的过程中产生了一个nan值. 如果开启了: torch.autograd.set_detect_anomaly(True) 那么在loss.backwar ...

  2. PyTorch RuntimeError: Function ‘CudnnBatchNormBackward0‘ returned nan values in its 0th output. 解决方法

    1. 查看输入是否含有nan或者全是0 2. 查看最后的loss是否是nan 3. 最难debug的一点是当learning rate过高的时候也会报题目中的错

  3. 【Pytorch】反向传播为NaN报错的排查解决方法,RuntimeError: Function ‘BmmBackward0‘ returned nan values

    最近在训练模型的过程中,反复出现方向传播至为NaN的报错,报错信息如下所示: File "/home/fu/anaconda3/envs/torch/lib/python3.7/site-p ...

  4. TensorFlow | ReluGrad input is not finite. Tensor had NaN values

    问题的出现 Question 这个问题是我基于TensorFlow使用CNN训练MNIST数据集的时候遇到的.关键的相关代码是以下这部分: cross_entropy = -tf.reduce_sum ...

  5. PyTorch出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1

    感谢下面这篇文章,问题解决了: https://blog.csdn.net/andyL_05/article/details/107952479 报错是这样的: RuntimeError: Funct ...

  6. TypeError The view function did not return a valid response. The function either returned None 的解决

    使用flask框架制作登录.注册的页面时,app.py运行成功,数据库有用户,1234,密码也是1234 点击登录之后, 报如下错误. TypeError TypeError: The view fu ...

  7. 解决报错:error: function declaration isn’t a prototype [-Werror=strict-prototypes]

    下午在写C语言代码,编译时报错如下: error: function declaration isn't a prototype [-Werror=strict-prototypes]void my_ ...

  8. include/caffe/common.cuh(9): error: function atomicAdd(double *, double) has already been defined

    编译caffe时出现: include/caffe/common.cuh(9): error: function "atomicAdd(double *, double)" has ...

  9. Gauss error function

    0. error function erf(x)=1π−−√∫x−xe−t2dterf(x)=1π∫−xxe−t2dt python 下的 math 标准库定义着 erf 的实现. 1. 从 erro ...

最新文章

  1. C盘满了怎么办?如何清理
  2. devDependencies与dependencies (转载)
  3. OGG logdump跳过某事物操作方法
  4. Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件
  5. TensorFlow 莫烦视频学习笔记例子二(一)
  6. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)——概率预测
  7. sniffer 工具
  8. PHP MYSQL关键词统计系统_PHP MySQL Order By 关键词
  9. (转)Hibernate框架基础——Java对象持久化概述
  10. 禁用linux的密码策略
  11. android dumpsys命令使用
  12. matlab系统解列模块,基于MATLAB的电力系统仿真终稿.doc
  13. TensorFlow北大公开课学习笔记-4.4正则化
  14. 当配置邮箱第三方SMTP 说短信内容有误的时候
  15. [Java]用Random类来模拟双色球开奖
  16. 玩转代码|Google Map api国内正常使用该如何配置
  17. 【mysql】聚簇索引(聚集索引)和非聚簇索引(二级索引、辅助索引)的区别
  18. Git —— SSH配置多仓库不同账户访问
  19. 从SAP中查找BADI
  20. 常见问题汇总:FLUENT文件导出为CAS或MSH

热门文章

  1. 策略模式的java实现例子
  2. VPI TransmissionMaker光纤通信算法仿真 均衡,载波相位恢复
  3. GB 15979一次性使用卫生用品卫生标准
  4. 最小二乘法拟合直线簇交点及Ransac拟合
  5. 在 iOS 中使用 Protocol Buffers
  6. 2.0 你的第一个CODESYS程序
  7. Linux服务器绑定mac地址,linux下绑定mac地址
  8. Starfall|“造轮子”是一种乐趣吗?
  9. 启发式狼群算法求解不相关并行机调度问题
  10. 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw