糖小豆子 2018-06-14 10:48 采纳率: 0%
浏览 8178
已结题

使用 tensorflow 训练网络 loss 突然出现 nan 的情况[已解决]

在第167次epoch时模型loss突然变为nan,之前情况都是正常的,之后模型 loss 便一直为 nan,两个准确率变为 1 和 0。
尝试把学习率改为0或0.0000001,nan还是会在167次epoch出现。
尝试把loss改为loss = tf.log(tf.clip _ by _ value(y,1e-8,1.0)) 或 loss = tf.log(tf.cli _ p _ by _ value(y,1e-8,tf.reducemax(y))),nan还是会在167次epoch出现。
把softmax函数,改为log _ softmax函数,nan还是会在167次epoch出现。
把batch _ size改大五倍(从20改为100),nan会在33次epoch出现。
各位大佬们,谁能救救我啊,这是因为什么原因呢???调试了一星期了(悲伤)

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-06-14 12:09
    关注

    看下是不是梯度爆炸或者消失了,加上正则化或者随机化,或者逐层训练你的模型。

    评论

报告相同问题?