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

使用 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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记