我想使用tensorflow将序列写入序列。 我的输入数据形状是
[input_length, target_length, input , target]
他们有不同的长度。
我该如何使用tf.decode_csv
?
我尝试使用最大输入长度制作record_defaults。
但所有形状必须在record_defaults中完全定义............
我无法弄清楚这一点。
csv_file = tf.train.string_input_producer([file_name], name='file_name')
reader = tf.TextLineReader()
_, line = reader.read(csv_file)
record_defaults = [[0] for row in range(20)]
data = tf.decode_csv(line,record_defaults=record_defaults,field_delim=',')
len_error = tf.slice(data,[0],[1])
len_target = tf.slice(data, [1], [1])
error = tf.slice(data,[2],len_error)
target = tf.slice(data, 2+len_error , len_target)
答案 0 :(得分:1)
是的,tf.decode_csv
确实要求所有行的大小相同。如果这对您不起作用,请考虑在Github上提交功能请求。
您还可以预处理CSV文件,将所有条目填充到相同数量的列中;您可以使用record_defaults
参数tf.decode_csv
将字段留空,但提供默认值。