1. 程式人生 > >tensorflow 記憶體洩漏、記憶體不足

tensorflow 記憶體洩漏、記憶體不足

sess.graph.finalize() 

把整個圖凍住,使圖變為只讀的形式,這樣就避免了問題的發生,但是這個函式不允許增加節點,在之後迴圈中tf.reshape()、tf.cast()函式等改變圖節點的函式也不能用了,也造成了一些不方便,這裡吐槽一下tensorflow的不方便性,所以以後使用tensorflow的時候儘量避免使用tf.train.Saver(), tf.convert_to_tensor(),這一類的函式放在迴圈之中,儘量在外部定義好之後使用sess.run()的方法執行
另外就是 tf.zeros_like(), tf.ones_like() 這類的程式碼也不要放在迴圈裡了,這樣能大大加快訓練速度
參考連結:

http://m.blog.csdn.net/appleml/article/details/75805797
https://github.com/tensorflow/tensorflow/issues/4151