TensorFlow训练过程遇到的问题

TensorFlow训练过程遇到的问题

第一次自己实现一个完整程序,遇到不少坑。等我这个程序搞完,我要入坑pyTorch。。。。

训练不收敛

我的程序是一个分类程序,刚开始的时候训练不收敛,accuracy基本为零,预测输出只输出一类。愁的我脑仁疼。解决办法:对输入加一个正则化。不得不说,微调对训练过程太重要啦。

训练步数增多,权重以及损失变为nan

只是我训练过程中遇到的第二大坑!为了解决这个问题,google了两周,然并卵。网上的解决办法并不适用我。哭唧唧
1.损失函数有log操作,要注意加一个极小值,防止计算出现问题
2.网上说学习率的问题,然后我就不停的调。。然鹅并没有啥变化,只是出现nan的步数变化了,我的时间啊,全浪费这上面了。
3.重点来了!其实这个问题吧,还是具体代码具体分析,仔细通读一下代码!简化一下,然后就发现中间的操作有可能会出现问题。比如我吧,没有充分利用python的优点,程序里面太多for循环,把自己绕晕了不说,浪费时间,逻辑也可能出现我问题!python的计算优势就是矩阵运算~能简化就简化啦,在简化的过程中还发现了之前出现nan也有可能是除法分母是0 ,改了之后就OK啦

占用内存不断上升

不要在session中定义计算,会增加节点数。导致内存爆炸!!运算操作在session外面定义哦

总结

调代码不能着急,一个问题不能耗太久,emmm碎碎念结束!大家都要加油啊!

你可能感兴趣的:(TensorFlow训练过程遇到的问题)