美文网首页
DNN跑mnist,loss变成了nan

DNN跑mnist,loss变成了nan

作者: kelseyh | 来源:发表于2018-01-12 22:00 被阅读619次

在tensorflow上用自己写的DNN跑mnist数据集,跑着跑着,loss变成了nan,

在8000轮的时候,测过accuracy有97%,但是跑到10000多轮,loss变成了nan。

把weights打印出来一看,也全部都是nan了。

最后stackoverflow解决了问题:

是因为cross entropy写得有风险:

这样写有风险,因为y_pred有可能出现0

cross_entropy = -tf.reduce_sum(y_*tf.log(y_pred))

保险的写法是这样的:

cross_entropy = -tf.reduce_sum(y_*tf.log(tf.clip_by_value(y_conv,1e-10,1.0)))

外面加不加tf.reduce_mean()随意。

另外,在查的过程中,发现造成loss变成nan的原因有很多很多,如果一开始的初始化没有弄好,容易造成weights变成nan。

参考资料:

https://stackoverflow.com/questions/33712178/tensorflow-nan-bug?newreg=c7e31a867765444280ba3ca50b657a07

https://stackoverflow.com/questions/37448557/why-are-my-tensorflow-network-weights-and-costs-nan-when-i-use-relu-activations

相关文章

  • DNN跑mnist,loss变成了nan

    在tensorflow上用自己写的DNN跑mnist数据集,跑着跑着,loss变成了nan, 在8000轮的时候,...

  • [TensorFlow] 常见问题汇总

    loss为何会出现nan? Deep-Learning Nan loss reasonshttps://stack...

  • 卷积神经网络的反向传播

    1.DNN的反向传播 首先回顾深度神经网络(DNN)的反向传播 forward: Loss Function: b...

  • pytorch problems

    1. nan loss It's a natural property of stochastic gradien...

  • DeepLearning学习笔记2_deep learning

    Tips for training DNN 1. 选择合适的损失函数 choose proper loss 当选择...

  • 可视化dnn训练

    dnn训练可视化 基础可视化指标1、train loss的变化曲线(可包含batch更新前后的loss分别曲线)2...

  • 解决loss nan问题

    数据集是一个2分类 输入数据集是数据对(上下文词向量矩阵,关系词向量) 上下文词向量矩阵用一个神经网络抽象出其高层...

  • pytorch loss 出现 nan

    排查问题: 调整学习率为0,loss还为NAN---->与学习率无关 模型内关于除、log等可能出现异常的操作,加...

  • TensorFlow训练mnist模型

    利用TensorFlow跑官网模型MNIST TensorFlow mnistModels 单机跑通mnist模型...

  • caffe训练报错集锦

    Caffe 训练时loss等于87.33或者NAN问题描述:训练过程中突然loss一直等于87.33原因:计算过程...

网友评论

      本文标题:DNN跑mnist,loss变成了nan

      本文链接:https://www.haomeiwen.com/subject/kgrqoxtx.html