具有HDFS的Tensorflow数据集API

问题描述 投票:1回答:1

我们在HDFS目录中存储了一个* .tfrecord文件列表。我想使用新的Dataset API,但给出的唯一示例是使用旧的filequeue和string_input_producer(https://www.tensorflow.org/deploy/hadoop)。这些方法使得难以在其他事物中生成时期。

有没有办法在数据集API中使用HDFS?

tensorflow hdfs tensorflow-datasets
1个回答
6
投票

HDFS文件系统层适用于旧的基于队列的API和新的tf.data API。假设您已根据TensorFlow/Hadoop deployment guide配置了系统,则可以使用以下代码基于HDFS中的文件创建数据集:

dataset = tf.data.TFRecordDataset(["hdfs://namenode:8020/path/to/file1.tfrecords",
                                   "hdfs://namenode:8020/path/to/file2.tfrecords"])
dataset = dataset.map(lambda record: tf.parse_single_example(record, ...)
# ...

请注意,由于HDFS是一个分布式文件系统,您可能会受益于输入管道性能指南的"Parallelize data extraction"部分中的一些建议。

© www.soinside.com 2019 - 2024. All rights reserved.