我有具有一系列计算如下假想曲线图:如何在不再需要时释放张量?
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有关仅在需要时分配内存的问题不一样。
编辑:这个网络不会被训练,所以不要担心backprop。
它是自动完成的 - 在'a_3'计算开始的时候,TensorFlow已经放弃了'a_0'和'a_1'。您可以使用https://github.com/yaroslavvb/memory_util查看内存分配/释放的时间表来验证这确实是这种情况 –