3
我试图从https://www.tensorflow.org/programmers_guide/reading_data 运行示例, :TensorFlow - decode_csv:期望3个字段,但在记录0中有5个,当给出5个默认值时抛出:期望5个字段,但在记录0中有3个
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代码:
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)
这引发错误: Expect 3 fields but have 5 in record 0
,但如果我改变:
record_defaults = [['hello'], ['hello'], ['hello'], ['hello'], ['hello']]
col1, col2, col3, col4, col5 = tf.decode_csv(
value, record_defaults=record_defaults, field_delim="|")
这将引发一个错误: Expect 5 fields but have 3 in record 0
这是怎么回事?这是TensorFlow中的一个错误吗?