我无法运行以下string_input_producer - hello world
程序:
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)
看起来很简单,但是在一条错误消息中告诉我,我需要将一个字符串值传递给占位符' filename' (我这样做)。任何人都能得到我在这里做错的事吗?感谢
为什么没有卡纸时会说卡纸!
答案 0 :(得分:0)
这可行。
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并且它需要一些真实的东西来排队,然后它会以某种顺序出列。