Nan in summary histogram

转载:https://blog.csdn.net/yy_diego/article/details/83412066

在tensorflow中训练神经网络时,训练到一半,出现Nan in summary histogram for:xxx

这种情况不一定每次都出现,有时候训练时会出现,有时候则不会。

出现这种情况,一般是由以下两种情况造成:

1.Loss的计算采用了


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

如果y的值 = 0,则log(y)则会出错,解决方法是,将上式修改为:

cross_entropy = -tf.reduce_sum(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
这样,y的最小值为0的情况就被替换成了一个极小值,1e-10,最大值为1.0,这样就不会出现Nan值了。

2.

一般是由于优化器的学习率设置不当导致的,此时可以尝试使用更小的学习率进行训练来解决这样的问题。
 

你可能感兴趣的:(Nan in summary histogram)