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,它需要一些真正的东西来排队,然后它会与一些顺序出队。
[他们](https://www.tensorflow.org/api_docs/python/tf/train/string_input_producer)表示'tf.train.string_input_producer'可以在API 1.3中使用张量。我怎样才能做到这一点? – Jus
'tf.train.string_input_producer(tf.convert_to_tensor(a_list_of_strings))',也许这就是你想要的? – Seven
谢谢@seven;是的,这将是我给出的最小例子的另一种解决方案。然而,在我的用例中,我真的很想将'tf.placeholder'传递到稍后填充的'tf.string_input_producer'中,就像我无法工作的例子一样。这种方法对我的用例会有一些优点。 – Jus