Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tensorflow,使用可变数据长度解码_Tensorflow_Sequence - Fatal编程技术网

tensorflow,使用可变数据长度解码

tensorflow,使用可变数据长度解码,tensorflow,sequence,Tensorflow,Sequence,我想使用tensorflow将序列写入序列。 我的输入数据形状是 [input_length, target_length, input , target] 它们有不同的长度。 如何使用tf.decode\u csv? 我尝试使用最大输入长度设置记录默认值。 但所有形状都必须在记录中完全定义。。。。。。。。。。。。 我搞不懂这件事 csv_file = tf.train.string_input_producer([file_name], name='file_name') r

我想使用tensorflow将序列写入序列。 我的输入数据形状是

[input_length, target_length, input , target]
它们有不同的长度。 如何使用
tf.decode\u csv
? 我尝试使用最大输入长度设置记录默认值。 但所有形状都必须在记录中完全定义。。。。。。。。。。。。 我搞不懂这件事

    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)

是的,
tf.decode\u csv
确实要求所有行的大小相同。如果这对你不起作用,考虑在Github上提交一个特性请求。
您还可以预处理CSV文件,将所有条目填充到相同数量的列中;您可以使用
record\u defaults
参数到
tf.decode\u csv
以使字段为空,但提供默认值。

我也尝试过此操作,无法使用此方法使其工作。看起来确实,您的行的长度都必须等于最大值,才能使其工作。如果您为Max定义了默认值,但有一行的观测值较少,那么它可能会抛出一个错误,显示“预期的X观测值,但得到了Y”。也许在CSV文件中使用额外的“,”来模拟空白值得一试?我还没试过。我经常发现在TF之外阅读文本文件更容易,比如numpy/pandas,然后将值输入TF,但这样会丢失好的TF无序和多文件查询。。。。你真好。我必须尝试另一种文件类型。多谢各位