tensorflow 损失函数值为nan,损失函数不收敛

这两天一直在改CNN模型,却发现怎么改准确率都没有半点提高。
于是打印了loss值,发现loss值是nan,在博客上找到了解决方法。由于我的损失函数是交叉熵,应该改为tf.log(tf.clip_by_value(y_conv,1e-8,1.0))这样的形式,tf.clip_by_value这个函数确定了两个阈值。
然而就算这么改了,我发现损失函数的值是有了,但却一直没有收敛,几乎没什么改变。
在网上又找到了问题,relu这个激活函数的激活率太低,导致太多的神经元死掉了。
我把激活函数换为tanh后损失函数开始下降,准确率开始提高

激活函数问题
https://ask.csdn.net/questions/571358?sort=votes_count

你可能感兴趣的:(tensorflow)