計算 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() 啟動額外的步驟,處理非同步向佇列新增資料。