Tensorflow 1.14 中的垃圾收集

数据挖掘 张量流
2022-02-09 16:35:06

创建变量时,会将其添加到集合中以允许共享和重用。但是,这似乎是“内存泄漏”的可能性(严格来说,它不是,因为仍然存在引用)。我应该如何处理?

如果我这样做:

import tensorflow as tf
g = tf.Graph()
with g.as_default():
    tf.get_variable('myvar', shape=(2, 2))
del g

myvar被垃圾回收吗?

1个回答

在 Tensorflow 1.* 中,myvar即使您丢失了指向它的变量的跟踪,也不会被收集,直到 Python 进程终止。

在 Tensorfow 2.* 中,它将被垃圾收集器收集。

有关详细信息,请参阅Tensorflow的博客,在“不再有全局变量”部分下。