RuntimeError: `set_session` 在使用 TensorFlow 2.0 时不可用

Posted

技术标签:

【中文标题】RuntimeError: `set_session` 在使用 TensorFlow 2.0 时不可用【英文标题】:RuntimeError: `set_session` is not available when using TensorFlow 2.0 【发布时间】:2021-03-27 13:37:23 【问题描述】:

我有一个使用 Keras 和 Tensorflow 2.0 的应用程序。在我尝试设置内部和内部操作线程的数量之前,它似乎有效。这是它的完成方式。

from keras import backend as K
# some irrelevant stuff

import tensorflow as tf

session_conf = tf.compat.v1.ConfigProto(inter_op_parallelism_threads=int(os.environ['NUM_INTER_THREADS']),
    intra_op_parallelism_threads=int(os.environ['NUM_INTRA_THREADS']))
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
K.set_session(sess) #this is where it blows up.

到目前为止,环顾四周,我没有发现任何表明这是错误的东西。我确实设置了 NUM_INTER_THREADS 和 NUM_INTRA_THREADS 环境变量(我有一个输出它们的打印,它们确实也是我设置的)。

版本信息:

张量流 2.1.0

tensorflow-base 2.1.0

张量流估计器 2.1.0

keras 2.3.1

keras 应用程序 1.0.8

keras-base 2.3.1

keras 预处理 1.1.0

【问题讨论】:

【参考方案1】:
tf.compat.v1.keras.backend.set_session(
    session
)

https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/backend/set_session

在 tensorflow 2 keras 上,它在 tensorflow 中,所以你可以像 tf.compat.v1.keras 一样使用它

【讨论】:

你能检查它是否已解决吗?我无法发布我的问题,我解决了另一个问题

以上是关于RuntimeError: `set_session` 在使用 TensorFlow 2.0 时不可用的主要内容,如果未能解决你的问题,请参考以下文章

RuntimeError: tf.placeholder() 与急切执行不兼容

RuntimeError:预期的标量类型 Double 但发现 Float

RuntimeError:创建新内容类型时出错

multiprocessing进程开发RuntimeError

Python Asyncio - RuntimeError:无法关闭正在运行的事件循环

第二次运行 pyqtgraph 时发生 RuntimeError