这篇文章主要介绍tensorflow如何查看梯度方式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1. 为什么要查看梯度
对于初学者来说网络经常不收敛,loss很奇怪(就是不收敛),所以怀疑是反向传播中梯度的问题
(1)求导之后的数(的绝对值)越来越小(趋近于0),这就是梯度消失
(2)求导之后的数(的绝对值)越来越大(特别大,发散),这就是梯度爆炸
所以说呢,当loss不正常时,可以看看梯度是否处于爆炸,或者是消失了,梯度爆炸的话,网络中的W也会很大,人工控制一下(初始化的时候弄小点等等肯定还有其它方法,只是我不知道,知道的大神也可以稍微告诉我一下~~),要是梯度消失,可以试着用用resnet,densenet之类的
2. tensorflow中如何查看梯度
tf.gradients(y,x)这里的就是y对于x的导数(dy/dx),x和y一定要有关联哦~
直接tf.gradients(y_, weight1)就可以了~
以上是“tensorflow如何查看梯度方式”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。