tf.placeholder 怎么申请内存的

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()运行结束后释放了内存.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章