如何解决loss NAN的问题

问题

  如上图所示,第二次迭代时出现NAN值

定位loss NAN的方法

  使用tensorflow的代码调试模块tfdbg,可以看到运行tensorflow graph时的内部结构体和状态,方便排查变量出现NAN、inf的情况。tfdbg的官方文档介绍 https://www.tensorflow.org/versions/master/how_tos/debugger/ 

  使用过滤器可以帮助查找异常值,命令:run -f has_inf_or_nan。

  发现出现NAN or inf的tensor有点多。。。。

  点第一个打印出来的结果如下图,发现每个值都是NAN,初步判断可能是反向传播的时候梯度消失了

未完待续

猜你喜欢

转载自www.cnblogs.com/zymei/p/10686408.html