计算 CSV 文件中的示例

import tensorflow as tf
filename_queue = tf.train.string_input_producer(["file.csv"], num_epochs=1)
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)
col1, col2 = tf.decode_csv(value, record_defaults=[[0], [0]])

with tf.Session() as sess:
  sess.run(tf.initialize_local_variables())
  tf.train.start_queue_runners()
  num_examples = 0
  try:
    while True:
      c1, c2 = sess.run([col1, col2])
      num_examples += 1
  except tf.errors.OutOfRangeError:
    print "There are", num_examples, "examples"

num_epochs=1 在处理列表上的每个文件一次后使 string_input_producer 队列关闭。它导致提升 OutOfRangeError,这是在 try:中捕获的。默认情况下,string_input_producer 无限生成文件名。

tf.initialize_local_variables() 是一个张量流 Op,当执行时,初始化 string_input_producer 内的 num_epoch 局部变量。

tf.train.start_queue_runners() 启动额外的步骤,处理异步向队列添加数据。