Tensorflow:会话图为空。蟒蛇

问题描述 投票:0回答:2

大家好,我正在使用 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() 之前。

有什么办法解决这个问题吗?

python tensorflow session tensorflow2.0
2个回答
4
投票
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)

“你好”


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.