Error:function ‘LogSoftmaxBackward‘ returned nan values in its 0th output.
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.相关推荐
- Function ‘MseLossBackward0‘ returned nan values in its 0th output.
这个比较奇怪的提示来自于Pytorch计算梯度的过程中产生了一个nan值. 如果开启了: torch.autograd.set_detect_anomaly(True) 那么在loss.backwar ...
- PyTorch RuntimeError: Function ‘CudnnBatchNormBackward0‘ returned nan values in its 0th output. 解决方法
1. 查看输入是否含有nan或者全是0 2. 查看最后的loss是否是nan 3. 最难debug的一点是当learning rate过高的时候也会报题目中的错
- 【Pytorch】反向传播为NaN报错的排查解决方法,RuntimeError: Function ‘BmmBackward0‘ returned nan values
最近在训练模型的过程中,反复出现方向传播至为NaN的报错,报错信息如下所示: File "/home/fu/anaconda3/envs/torch/lib/python3.7/site-p ...
- TensorFlow | ReluGrad input is not finite. Tensor had NaN values
问题的出现 Question 这个问题是我基于TensorFlow使用CNN训练MNIST数据集的时候遇到的.关键的相关代码是以下这部分: cross_entropy = -tf.reduce_sum ...
- PyTorch出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1
感谢下面这篇文章,问题解决了: https://blog.csdn.net/andyL_05/article/details/107952479 报错是这样的: RuntimeError: Funct ...
- 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 ...
- 解决报错:error: function declaration isn’t a prototype [-Werror=strict-prototypes]
下午在写C语言代码,编译时报错如下: error: function declaration isn't a prototype [-Werror=strict-prototypes]void my_ ...
- 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 ...
- Gauss error function
0. error function erf(x)=1π−−√∫x−xe−t2dterf(x)=1π∫−xxe−t2dt python 下的 math 标准库定义着 erf 的实现. 1. 从 erro ...
最新文章
- C盘满了怎么办?如何清理
- devDependencies与dependencies (转载)
- OGG logdump跳过某事物操作方法
- Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件
- TensorFlow 莫烦视频学习笔记例子二(一)
- Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)——概率预测
- sniffer 工具
- PHP MYSQL关键词统计系统_PHP MySQL Order By 关键词
- (转)Hibernate框架基础——Java对象持久化概述
- 禁用linux的密码策略
- android dumpsys命令使用
- matlab系统解列模块,基于MATLAB的电力系统仿真终稿.doc
- TensorFlow北大公开课学习笔记-4.4正则化
- 当配置邮箱第三方SMTP 说短信内容有误的时候
- [Java]用Random类来模拟双色球开奖
- 玩转代码|Google Map api国内正常使用该如何配置
- 【mysql】聚簇索引(聚集索引)和非聚簇索引(二级索引、辅助索引)的区别
- Git —— SSH配置多仓库不同账户访问
- 从SAP中查找BADI
- 常见问题汇总:FLUENT文件导出为CAS或MSH
热门文章
- 策略模式的java实现例子
- VPI TransmissionMaker光纤通信算法仿真 均衡,载波相位恢复
- GB 15979一次性使用卫生用品卫生标准
- 最小二乘法拟合直线簇交点及Ransac拟合
- 在 iOS 中使用 Protocol Buffers
- 2.0 你的第一个CODESYS程序
- Linux服务器绑定mac地址,linux下绑定mac地址
- Starfall|“造轮子”是一种乐趣吗?
- 启发式狼群算法求解不相关并行机调度问题
- 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw