1 tf.placeholder 是不申请内存的,它指向的feed_dict={input1:rand_array} 中rand_array的内存.
比如下面的代码
import numpy as np
import tensorflow as tf
input1 = tf.placeholder(tf.int8, [4*1024, 1024, 1024])
input2 = tf.placeholder(tf.int8, [4*1024, 1024, 1024])
rand_array = np.random.randint(0,127,[4*1024,1024,1024],dtype=np.int8)
with tf.Session() as sess:
sess.run(input1, feed_dict={input1:rand_array})
通过task manager 可以看到总共申请了4G 的内存。 rand_array 还保留在variable_explore中
如果之后
rand_array = 1
则 内存全部释放掉 python 这个线程之后1百多mb。
说明 sess()运行结束后释放了内存.