TensorFlow训练内(显)存不断增长

    在使用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里面进行运算产生临时节点,即出了结果再计算

你可能感兴趣的:(安装调试笔记)