大家好,我正在使用 Tensorflow 2.0
在这些代码行中:
import tensorflow as tf
hello = tf.constant('Hello World')
sess = tf.compat.v1.Session()
sess.run(hello) <-- Error in this line
运行时错误:会话图为空。 向图表添加操作 在调用 run() 之前。
有什么办法解决这个问题吗?
g = tf.Graph()
with g.as_default():
# Define operations and tensors in `g`.
hello = tf.constant('hello')
assert hello.graph is g
sess = tf.compat.v1.Session(graph=g)
sess.run(hello)
“你好”
Tensorflow core r2.0 默认启用急切执行。因此,在不更改它的情况下,我们只需通过 在会话中启动图表来更改代码,如下所示。
> with tf.compat.v1.Session() as sess:
> # Building a graph
> hello = tf.constant("hello")
> print(sess.run(hello))
根据 Tensorflow 文档..
默认的图表总是被注册的,并且可以通过调用来访问 tf.compat.v1.get_default_graph
对于不需要声明 tf.Graph() 的基本操作,您可以定义一个具有更多计算和数据集的图,您可以定义一个图并调用到会话中。
请参阅:了解更多信息 https://www.tensorflow.org/api_docs/python/tf/Graph https://github.com/OlafenwaMoses/ImageAI/issues/400