我有一个假设图,它有一系列计算,如下所示:
a_0 = tf.placeholder()
a_1 = some_op_1(a_0)
a_2 = some_op_2(a_1)
a_3 = some_op_3(a_2)请注意,在计算a_3时,不需要a_0和a_1,因此在为a_3分配内存之前可以丢弃它们。是否有办法要求TensorFlow执行这个内存优化(同意时间上有一定的成本)?
请注意,这与只在需要时分配内存的this问题不一样。
编辑:这个网络不会被训练,所以不要担心后盾。
发布于 2017-03-06 18:24:44
TensorFlow使用引用计数来释放张量不再使用时使用的内存。一旦不再引用a_0和a_1的值,它们的值就会被删除,而在最新的TensorFlow构建(每晚构建1.0后)中,如果它们具有相同的形状和元素类型,一些操作甚至会为输出重用输入缓冲区。
https://stackoverflow.com/questions/42631417
复制相似问题