我有具有一系列計算如下假想曲線圖:如何在不再需要時釋放張量?
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查看內存分配/釋放的時間表來驗證這確實是這種情況 –