tensorflow.string_input_producer“世界你好”

问题描述:

我不能让下面的string_input_producer- hello world程序运行:tensorflow.string_input_producer“世界你好”

import tensorflow as tf 

filename = tf.placeholder(dtype=tf.string, name='filename') 
f_q = tf.train.string_input_producer(filename, num_epochs=1, shuffle=False) 
filename_tf = f_q.dequeue() 

with tf.Session() as S: 
    S.run(tf.local_variables_initializer()) 
    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord) 

    print(S.run(filename_tf, feed_dict={filename: "hello world"})) 

    coord.request_stop() 
    coord.join(threads) 

似乎很简单,但TF告诉我,我需要传递一个字符串的错误信息值占位符'文件名'(我这样做)。任何人在这里得到什么我做错了?谢谢

为什么说卡纸,没有卡纸!

这可以工作。

import tensorflow as tf 

filename = ['hello world'] 
f_q = tf.train.string_input_producer(filename, num_epochs=1, shuffle=False) 
filename_tf = f_q.dequeue() 

with tf.Session() as S: 
    S.run(tf.local_variables_initializer()) 
    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord) 

    print(S.run(filename_tf)) 

    coord.request_stop() 
    coord.join(threads) 

因为tf.train.string_input_producer回报queue,它需要一些真正的东西来排队,然后它会与一些顺序出队。

+0

[他们](https://www.tensorflow.org/api_docs/python/tf/train/string_input_producer)表示'tf.train.string_input_producer'可以在API 1.3中使用张量。我怎样才能做到这一点? – Jus

+0

'tf.train.string_input_producer(tf.convert_to_tensor(a_list_of_strings))',也许这就是你想要的? – Seven

+0

谢谢@seven;是的,这将是我给出的最小例子的另一种解决方案。然而,在我的用例中,我真的很想将'tf.placeholder'传递到稍后填充的'tf.string_input_producer'中,就像我无法工作的例子一样。这种方法对我的用例会有一些优点。 – Jus