运行我的train.py时,tensorflow键入了miss

时间:2016-05-13 07:30:18

标签: tensorflow

它会报告 TypeError:Feed的值不能是tf.Tensor对象。可接受的Feed值包括Python标量,字符串,列表或numpy ndarray。当运行我的tensorflow代码 我的代码下面是否有一些错误?我使用feed_dict类型转换张量类型。为什么它仍然失败?

 with tf.Session() as sess:
                tf.initialize_all_variables().run()
                coord = tf.train.Coordinator()
                threads = tf.train.start_queue_runners(coord=coord)
                print('Initialized!')
                for step in xrange(150000):
                        data,label = read_data(FLAGS.train_file)
                        feed_dict = {train_data_node: data,
                                     train_labels_node: label}
                        _, l, lr, predictions = sess.run([optimizer, loss_value, learning_rate, train_prediction],feed_dict=feed_dict)

1 个答案:

答案 0 :(得分:1)

错误说明:Feed的值不能是tf.Tensor

您的Feed是:

feed_dict = {train_data_node: data,
    train_labels_node: label}

因此,data&之间的一个(或两个) labeltf.Tensor对象。

您必须将值提取到此对象中,从而获得可接受的Feed值。

要执行此操作,您必须先将run(或eval)对象传递给Feed。

<强>铊; DR:

feed_dict = {train_data_node: data.eval(),
    train_labels_node: label.eval()}