feed_dict无法将int转换为十进制的张量

2024-06-01 01:27:16 发布

您现在位置:Python中文网/ 问答频道 /正文

似乎tensorflow最困难的部分是将tensor与其目的地匹配。

我得到运行时错误: TypeError:“无法将feed_dict key解释为张量:无法将int转换为张量。”

我正试图解决异或问题,这是我的主要设置。

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]。两者都应该与占位符匹配。自从我开始使用tensorflow以来,我一直在匹配方面遇到问题,所以我开始认为我根本不理解设置。如能对此作出澄清,将不胜感激。


Tags: runnonetftensorflowfeeddictplaceholdersess
1条回答
网友
1楼 · 发布于 2024-06-01 01:27:16

您正在用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})

相关问题 更多 >