Python Tensorflow馈送dict键不能解释为Tensor
我刚开始学习python中的Tensorflow。当我从一个简单的AddTwo类开始时,我遇到了以下错误。错误消息如下: 无法将feed_dict键解释为张量:张量 张量(“占位符:0”,dtype=float32)不是此元素 图表 有人能帮我指出正确的方法吗Python Tensorflow馈送dict键不能解释为Tensor,python,tensorflow,Python,Tensorflow,我刚开始学习python中的Tensorflow。当我从一个简单的AddTwo类开始时,我遇到了以下错误。错误消息如下: 无法将feed_dict键解释为张量:张量 张量(“占位符:0”,dtype=float32)不是此元素 图表 有人能帮我指出正确的方法吗 import numpy as np import tensorflow as tf class AddTwo(object): def __init__(self): self.graph = tf.Grap
import numpy as np
import tensorflow as tf
class AddTwo(object):
def __init__(self):
self.graph = tf.Graph()
with self.graph.as_default():
self.sess = tf.Session()
self.X = tf.placeholder(tf.float32)
self.Y = tf.placeholder(tf.float32)
# Create an op to add the two placeholders.
self.Z = tf.add(self.X, self.Y)
def Add(self, x, y):
with tf.Session() as sess:
#self.Z = tf.add(x, y)
result = sess.run(self, feed_dict={self.X: x, self.Y: y})
return result
调用AddTwo类的主代码:
adder = graph.AddTwo()
print adder.Add(50, 7)
print adder.Add([1,5],[6,7])
正如我在评论中所建议的,您应该使用创建的图打开会话,因此代码应该如下所示:
with self.graph.as_default():
# no session here
self.X = tf.placeholder(tf.float32)
self.Y = tf.placeholder(tf.float32)
# open session with providing the graph
with tf.Session(graph=self.graph) as sess:
pass
您是否尝试将tf.Session(graph=self.graph)作为sess:?在创建图表期间不设置会话。谢谢。它起作用了。