糖小豆子 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 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多