我正在尝试从CSV文件中读取张量并打印出来。我遵循了建议here,但脚本仍然挂起。 data.csv由一行组成:
1.5,2.5
以下是读取它的代码:
datafile = tf.train.string_input_producer([os.path.join(os.getcwd(), "data.csv")])
reader = tf.TextLineReader()
_, value = reader.read(datafile)
record_defaults = [[1], [1]]
col1, col2 = tf.decode_csv(value, record_defaults=record_defaults)
result = tf.stack([col1, col2])
config = tf.ConfigProto(inter_op_parallelism_threads=2)
with tf.Session() as sess:
print(sess.run(result))
有什么想法吗?
答案 0 :(得分:1)
你从你引用的答案中遗漏了这一部分。如果您不添加协调器并启动队列运行程序,则队列将永远不会排队,并且会话将挂起,等待元素入队。
with tf.Session() as sess:
# Start populating the filename queue.
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for i in range(1200):
# Retrieve a single instance:
example, label = sess.run([features, col5])
coord.request_stop()
coord.join(threads)