我忘了关闭一个 tf.InteractiveSession,我该如何杀死任何剩余的进程?

I forgot to close a tf.InteractiveSession, how do I kill any left over processes?

我正在使用新的 Google Colaboratory,并且在我意识到 tf.InteractiveSession.close() 从未被调用之前,我重复使用了 tf.InteractiveSession 的一段代码。我修改了代码并添加了一个sess.close()。现在每当我 运行 相同的代码块时,我都会收到以下警告:

/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py:1645: UserWarning: An interactive session is already active. This can cause out-of-memory errors in some cases. You must explicitly call InteractiveSession.close() to release resources held by the other session(s). warnings.warn('An interactive session is already active. This can '

哎呀。我怎样才能释放之前生成的会话所占用的资源?即使在添加 sess.close() 命令后,此警告仍然存在。我假设此时我只是关闭活动会话。我尝试刷新页面,但没有运气。

这个问题非常类似于: 但我需要知道如何真正关闭僵尸进程,这在这个答案中没有涉及。

如前所述here,您可以使用

import gc; gc.collect().

此外,您始终可以通过

获取活动会话数

tf.InteractiveSession._active_session_count