TensorFlow - decode_csv: Expect 3 fields, but 5 in record 0, if 5 defaults are given: Expect 5 fields, but 3 in record 0

I'm trying to run an example from https://www.tensorflow.org/programmers_guide/reading_data with my custom data that looks like this:

example_data.txt

DESC|manner|How did serfdom develop in and then leave Russia ?
ENTY|cremat|What films featured the character Popeye Doyle ?
DESC|manner|How can I find a list of celebrities ' real names ?
ENTY|animal|What fowl grabs the spotlight after the Chinese Year of the Monkey ?
                                      more...

      

TensorFlow code:

import numpy as np
import tensorflow as tf

filename_queue = tf.train.string_input_producer(["example_data.txt"])
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)

record_defaults = [['hello'], ['hello'], ['hello']]
col1, col2, col3 = tf.decode_csv(
    value, record_defaults=record_defaults, field_delim="|")
features = tf.stack([col1, col2, col3])

print(features)

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, col2])

  coord.request_stop()
  coord.join(threads)

      

This throws an error: Expect 3 fields but have 5 in record 0

but if i change:

record_defaults = [['hello'], ['hello'], ['hello'], ['hello'], ['hello']]
    col1, col2, col3, col4, col5 = tf.decode_csv(
        value, record_defaults=record_defaults, field_delim="|")

      

This throws an error: Expect 5 fields but have 3 in record 0

What's happening? is this a bug in TensorFlow?

+3


source to share


1 answer


When used tf.decode_csv

with, the tf.TextLineReader

mere presence of an empty line at the end of the file produced a similar error "Expect 5 fields, but has 0 in record 0".



Likewise, you can check your data file to see if there are any errors with it, even if it's as simple as an empty string.

+1


source







All Articles