为什么我的Python程序在IDE(pycharm)中运行,但是从命令行尝试时却不能运行?

时间:2018-06-28 10:54:53

标签: python python-3.x tensorflow pycharm

我是Tensorflow的新手。问题代码如下:

import tensorflow as tf

g = tf.Graph()

with g.as_default():

x = tf.constant(8, name="x_const")
y = tf.constant(5, name="y_const")
my_sum = tf.add(x, y, name="x_y_sum")

with tf.Session() as sess:
print(my_sum.eval())

上面的代码运行时在PyCharm中没有任何错误,给出了正确的结果。但是,当我从命令行尝试相同的代码时,出现了我提供的屏幕截图的一些错误。 this Codepen.IO example

我无法理解错误的原因。错误中的主行指出:

"Cannot use the default session to evaluate tensor: the tensor's graph is 
different from the session's graph.Pass an explicit session to 
'eval(session=sess)'"

但是即使我进行了明确的会话,它也会显示几乎相同的错误。我也不明白为什么它在PyCharm IDE中运行时没有任何错误。

我的系统:

  • Windows 7 Ultimate(64位)
  • 4GB RAM
  • 英特尔奔腾2020M处理器
  • 英特尔高清显卡
  • Python 3.6.5(64位)
  • Tensorflow版本1.5.0

1 个答案:

答案 0 :(得分:1)

将图形传递给会话。

with tf.Session(graph=g) as sess:
    print(my_sum.eval())