Tensorflow can';t使用tf.decode_csv()正确读取一个数组csv文件

Tensorflow can';t使用tf.decode_csv()正确读取一个数组csv文件,tensorflow,Tensorflow,我有数百个csv文件,每个文件都包含一个数组,这是我网络的输入数组。 我尝试使用tf.data.TextLineDataset生成csv文件名的数据集,并使用dataset.map()读取它们。但是,我对如何使用tf.decode\u csv() 假设csv内容是 1 2 3 4 5 ... 100 然后使用: dataset = tf.data.TextLineDataset(['a.csv','b.csv', ...]) dataset.map(proc) 其中: def proc(cs

我有数百个csv文件,每个文件都包含一个数组,这是我网络的输入数组。 我尝试使用
tf.data.TextLineDataset
生成csv文件名的数据集,并使用
dataset.map()
读取它们。但是,我对如何使用
tf.decode\u csv()

假设csv内容是

1 2 3 4 5 ... 100
然后使用:

dataset = tf.data.TextLineDataset(['a.csv','b.csv', ...])
dataset.map(proc)
其中:

def proc(csv):
    array = tf.decode_csv(csv,[0.0 for i in range(1000)])
    return array
我得到:

# array = (tensor, shape=1) * 100
# array = (tensor, shape=1)
如果使用:

def proc(csv):
    array = tf.decode_csv(csv,[[0.0]])
    return array
我得到:

# array = (tensor, shape=1) * 100
# array = (tensor, shape=1)
这意味着只读取数组的一个值

如何将数组读入
(张量,形状=100)

a.csv b、 csv main.py 第4行将有一个
100
,而不是
5

import tensorflow as tf

def _parse_csv(input_vec):
    return tf.io.decode_csv(input, [0.0] * 5, field_dim=" ")

dataset = tf.data.TextLineData(["a.csv", "b.csv"])
dataset = dataset.map(_parse_csv)
iterator = dataset.make_one_shot_iterator()
file_op = iterator.get_next()

with tf.Session() as sess:
    print(sess.run(file_op))
    # (1.0, 2.0, 3.0, 4.0, 5.0)

    print(sess.run(file_op))
    # (6.0, 7.0, 8.0, 9.0, 10.0)