首页 > 解决方案 > 如何以最有效的方式使用 tf.data.Dataset 将图像转换为 TFRecords

问题描述

当我尝试使用这个所谓简单的 API 以每次我有一个新数据集时不需要 30 分钟的方式编写 TFRecords 时,我收到了多少无用的错误消息,这让我感到非常困惑。

任务:

我想将图像路径列表和标签列表提供给 tf.data.Dataset,并行解析它们以读取图像并编码为 tf.train.Examples,使用 tf.data.Dataset.shard 来将它们分发到不同的 TFRecord shards 中(例如 train-001-of-010.tfrecord、train-002-of-010.tfrecord 等),并为每个 shard 最终将它们写入相应的文件。

由于我已经调试了几个小时,所以我没有得到任何要修复的特定错误,否则我会提供它。我一直在努力寻找任何不是(a)来自 2017 年并使用队列运行器的最新教程,(b)使用 tf.Session(我使用的是 tensorflow 1.15,但官方文档一直告诉我分阶段(c) 方便地在纯 python 中创建记录,这是一个简单的教程,但对于任何实际应用程序来说都太慢了,或者 (d) 使用已经创建的 TFRecords 并跳过整个过程。

如有必要,我可以将我正在谈论的内容放在一起。但由于我在流程的每个层面都陷入困境,目前它似乎无济于事。

语言:

如果有人使用 tf.data.Dataset 并行创建 TFRecord 分片,请指出比谷歌更好的方向。

标签: pythonimagetensorflowparallel-processingtfrecord

解决方案


推荐阅读