记记关于tensorflow训练模型时出现损失函数为NAN问题
来源:互联网 发布:淘宝直播达人怎么申请 编辑:程序博客网 时间:2024/06/08 07:40
交叉熵损失函数输出NAN的问题:
之前使用tensorflow训练模型,开始的一段迭代周期,模型的预测准确率一直在上升,徘徊一段时间后,准确率骤减,直至到随机猜测的水平,开始以为是模型出了问题,就修改了一下代码,记录训练过程中的误差,希望通过误差曲线,分析是否模型的问题。结果绘图出错,将损失数组输出看了一下,发现后期的损失值都是0。在网上查询,发现是损失函数的特性造成的,在交叉熵损失函数中,会计算预测概率的对数,当这个概率接近于0时,或等于0时,会发生溢出。
在网上看到的很多关于MNIST数据的训练模型都没有注意这个问题,因为给的示例不容易出现这个问题,如果当修改模型,加深神经网络的层次,这个问题就会发生。
如果想避免这个问题,就需要在计算对数的时候对这个概率先进行一个处理,将这个概率限制在一定的范围内,TensorFlow提供了一个这样的函数:
tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
这是一个截断函数,限定取值的上下界。
示例如下:
tf.clip_by_value(y_predict, 1e-10, 1.0)
当y_predict大于1.0时返回1.0;当y_predict小于1e-10时返回1e-10。
阅读全文
0 0
- 记记关于tensorflow训练模型时出现损失函数为NAN问题
- tensorflow训练中出现nan问题
- tensorflow训练中出现nan问题
- Tensorflow 训练结果为 NAN
- tensorflow训练出现nan的讨论
- 关于binary_crossentropy损失函数为负的问题
- 神经网络训练时,出现NaN loss
- tensorflow random forest模型损失函数不可用
- 改变损失函数对模型和训练结果的影响
- Tensorflow 损失函数定义
- TensorFlow损失函数专题
- TensorFlow自定义损失函数
- Deep Learning 之 训练过程中出现NaN问题
- 3模型训练和最优化-3.1模型训练之损失函数优化策略
- 将caffe训练好的模型转换为tensorflow模型
- tensorflow / keras LSTM训练时候nan情况
- tensorflow中损失函数总结
- [tensorflow损失函数系列]sigmoid_cross_entropy_with_logits
- FAFU OJ 解二元一次方程
- Java中的static关键字解析
- Docker容器数据管理2
- JS学习笔记-初级篇
- 远程桌面mstsc上传本地资源
- 记记关于tensorflow训练模型时出现损失函数为NAN问题
- SVN命令行记录
- 解决国内NPM(node.js)安装依赖速度慢问题
- DevStack部署Openstack教程(DevStack)
- Java 打印程序设计
- CSS Flexbox布局
- [Python]糗事百科的网络爬虫(v0.4)源码
- git 教程推荐
- SpringBoot中集成MongoDB