【发布时间】:2021-06-18 05:56:31
【问题描述】:
我正在尝试在 TensorFlow 中运行一些自动超参数优化的实验,因此我的程序的主循环需要反复创建一个图、运行它、销毁它,以便为下一次迭代释放内存。为此,我有:
tf.reset_default_graph()
sess = tf.InteractiveSession()
这似乎在所有方面都有效,除了一种:每次循环时,程序都会泄漏数百兆字节的内存。我没有分配任何其他类型的可能成为内存泄漏候选的复杂数据结构,所以大概我错误地使用了tf.reset_default_graph。
我做错了什么?
程序在https://github.com/russellw/tf-examples/blob/master/sko_lstm.py
【问题讨论】:
-
你能拿出证据吗?我的库也使用
tf.reset_default_graph()进行超参数调整,它能够处理大量图形,超过 100 个。泄漏在其他地方 -
@Maxim 好的,添加了程序链接。我没有看到泄漏可能在其他任何地方。我错过了什么吗?
-
啊,我想我明白了。看我的回答
标签: python session tensorflow graph memory-leaks