Tensorflow can';t使用tf.decode_csv()正确读取一个数组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
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)