在使用tensorflow過程中,乙個不標準的操作,就可能導致程式出各種bug,今天我們的豬腳就是「tensorflow訓練內(顯)存不斷增長」,此問題並不是我遇到的,是公司一位同事遇到的,我把**翻了一下,看出了問題所在,由於一些保密原因,我就不在這裡展示那個**,但可以用其他**來替代。
import tensorflow as tf
x = tf.constant(10)
sess = tf.session()
sess.run(tf.global_variables_initializer())
while true:
print(sess.run(x))
上面這個**,x是乙個節點,即使陷入死迴圈,也不會產生新的節點(此句很有深意)
import tensorflow as tf
x = tf.constant(10)
sess = tf.session()
sess.run(tf.global_variables_initializer())
while true:
print(sess.run(x+x))
這個**,x+x會不斷的產生臨時節點,而且還沒釋放,所以內(顯)存不斷增長,所以最後會導致宕機。
解決辦法:1.釋放臨時節點;2.避免在run裡面進行運算產生臨時節點,即出了結果再計算
tensorflow視訊記憶體管理
在執行上面的blog的tensorflow小程式的時候程式我們會遇到乙個問題,當然這個問題不影響我們實際的結果計算,但是會給同樣使用這台計算機的人帶來麻煩,程式會自動呼叫所有能呼叫到的資源,並且全占滿,在自己的pc上沒問題,但是在伺服器上,問題就很大,因為一旦你執行程式,佔滿視訊記憶體別人就不能再用...
tensorflow設定視訊記憶體自適應和視訊記憶體比例
用慣了theano.再用tensoflow發現一執行視訊記憶體就滿載了,嚇得我吃了乙個蘋果。用 搜尋引擎毛都搜不到,於是翻牆找了下問題的解決方法,原來有兩種 1.按比例 config tf.configproto config.gpu options.per process gpu memory f...
Tensorflow設定視訊記憶體自適應,視訊記憶體比例
用慣了theano.再用tensoflow發現一執行視訊記憶體就滿載了,嚇得我吃了乙個蘋果。用 搜尋引擎毛都搜不到,於是翻牆找了下問題的解決方法,原來有兩種 1.按比例 config tf.configproto config.gpu options.per process gpu memory f...