python - 如何将序列输入 TensorFlow Keras 模型?

标签 python tensorflow keras tensorflow-datasets

我想训练一个模型,为可变大小的事件序列分配一些分数。每个序列都在自己的文件中,我从(文件名、目标分数)列表开始。

所以我做了这样的事情:

dataset = fileNames.map((fileName, score) => (new CsvDataset(x), score));

我得到的是:NotImplementedError:Dataset.map() 转换当前不支持嵌套数据集作为输出

我使用的是 TensorFlow 1.10。

问题是:如何将(序列、训练分数)对加载并提供给模型? tf.data 是一种可行的方法吗?

最佳答案

在使用 amy map 函数之前,您需要创建数据集对象。数据集 API 是一个完全可行的选择。

dataset = tf.contrib.data.make_csv_dataset(filenames)

该功能从1.10版本开始。然后,您可以使用 dataset.zip((dataset, labels)) 添加标签,或使用 dataset.map() 映射某些解析函数
更多关于此 https://www.tensorflow.org/api_docs/python/tf/data/Dataset
https://www.tensorflow.org/versions/r1.10/api_docs/python/tf/contrib/data/make_csv_dataset

编辑1:

If you need to parse file by file you can do 
x = ['1.csv', '2.csv']
y = [label_1, labels_2]

def parse_csv_func(data, label):
    return tf.decode_csv(data, ['float32']*number_of_columns)

dataset = tf.data.Dataset.from_tensor_slices((x, y))
dataset = dataset.map(parse_csv_func)

输出:[b'1.csv'] label_1

此数据集对象将包含 csv 文件名和相应标签的路径,因此您可以将任何解析函数应用于所需的单独文件。如果数据集是嵌套的,您可以将其展平。

关于python - 如何将序列输入 TensorFlow Keras 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54873022/

相关文章:

python - 从MySQL数据库中检索数据,在python中以字典格式

python - 如何使用 tensorflow 计算多标签前k个精度?

python-3.x - 适用于 Keras 2.3 的 Tensorflow 包

python - 如何训练具有不同 N 维标签的 LSTM 模型?

python - 如何使用部分方法访问类的属性?

python - CeleryBeat 进程消耗所有操作系统内存

python - 如何检查用户输入是否有这些行?

python - 我的三层神经网络的输出是 NAN

python - 不使用 Supervisor 时 Tensorflow 会卡住

python - Keras - flow_from_directory : How to get number of samples in each category?