似乎tensorflow中最棘手的部分是将张量匹配到目的地。
我收到运行时错误: TypeError:“无法将feed_dict键解释为Tensor:无法将int转换为Tensor。”
我正在尝试解决XOR问题,这是我的主要设置。
i = tf.placeholder(tf.float32, shape=[None,2])
y_ = tf.placeholder(tf.float32, shape=[None,1])
inp_vec = [[1.,0.],[0.,1.],[1.,1.],[0.,0.]]
solutions = [[1.],[1.],[0.],[0.]]
with tf.Session() as sess:
sess.run( tf.initialize_all_variables() )
for i in range(1000):
sess.run(optim, feed_dict={i:inp_vec, y_:solutions})
以下是整个代码,如果您需要查看更多内容或想要告诉我我可以做得更好http://pastebin.com/GqrX21vf
inp_vec是[4x2],解是[4x1]。两者都应匹配占位符。自从我开始张量流以来,我一直遇到匹配问题所以我开始认为我从根本上不理解设置。对此的澄清将非常感激。
答案 0 :(得分:8)
您正在使用for循环的i
覆盖对变量i
的引用。将名称更改为x_
应解决问题。
x_ = tf.placeholder(tf.float32, shape=[None,2])
y_ = tf.placeholder(tf.float32, shape=[None,1])
inp_vec = [[1.,0.],[0.,1.],[1.,1.],[0.,0.]]
solutions = [[1.],[1.],[0.],[0.]]
with tf.Session() as sess:
sess.run( tf.initialize_all_variables() )
for i in range(1000):
sess.run(optim, feed_dict={x_:inp_vec, y_:solutions})