python-3.x - 如何修复 ‘RuntimeError: The Session graph is empty. Add operations to the graph before calling run().”

标签 python-3.x tensorflow

我只是简单地输入了 tf.Tensor Tensorflow 2.0 中给出的代码,这是我的代码:

import tensorflow as tf
print(tf.__version__)
# Build a dataflow graph.
c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
e = tf.matmul(c, d)

# Construct a `Session` to execute the graph.
sess = tf.compat.v1.Session()

# Execute the graph and store the value that `e` represents in `result`.
result = sess.run(e)

但它引发了一个错误:
2.0.0-beta1
2019-07-25 17:06:35.972372: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "/Users/yupng/Documents/Dissertation/kmnist/kminst_v1.0.py", line 14, in <module>
    result = sess.run(e)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 950, in run
    run_metadata_ptr)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1098, in _run
    raise RuntimeError('The Session graph is empty.  Add operations to the '
RuntimeError: The Session graph is empty.  Add operations to the graph before calling run().

Process finished with exit code 1

我能做些什么来修复这个错误?

最佳答案

TF 2.0 支持急切执行,这意味着您不必显式创建 session 并在其中运行代码。所以最简单的解决方案是:

import tensorflow as tf
print(tf.__version__)

# Build a dataflow graph.
c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
e = tf.matmul(c, d)

print(e)

哪个输出
2.0.0-beta1
tf.Tensor(
[[1. 3.]
 [3. 7.]], shape=(2, 2), dtype=float32)

但是,如果您愿意,您可以使用 session :

import tensorflow as tf
print(tf.__version__)

# Construct a `Session` to execute the graph.
with tf.compat.v1.Session() as sess:

  # Build a dataflow graph.
  c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
  d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
  e = tf.matmul(c, d)

  # Execute the graph and store the value that `e` represents in `result`.
  result = sess.run(e)
  print(result)

这使
2.0.0-beta1
[[1. 3.]
 [3. 7.]]

关于python-3.x - 如何修复 ‘RuntimeError: The Session graph is empty. Add operations to the graph before calling run().”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57206247/

相关文章:

django - 使用基于类的 View (CBV) Django 2.1 Python 重定向页面

python - OpenCV 从 url 加载视频

python - 当切片本身是 tensorflow 中的张量时如何进行切片分配

python - 如何在 TensorFlow 中添加正则化?

Tensorflow:如何将张量的 channel 从 RGB 切换到 BGR?

python - 为什么 pandas isnull() 有效但 ==None 无效?

python - Asyncio 如何重用套接字

python - 如何在M1 Mac上安装Deepface(Python人脸识别包)?

machine-learning - 如何在 TensorFlow 中表示线性数据

python - Python 3.3+ 中的包不需要 __init__.py