【发布时间】:2018-01-07 17:15:57
【问题描述】:
我的问题是关于如何从多个(或分片)tfrecord 中获取批量输入。我已阅读示例https://github.com/tensorflow/models/blob/master/inception/inception/image_processing.py#L410。基本管道是,以训练集为例,(1)首先生成一系列tfrecords(例如,train-000-of-005,train-001-of-005,...),(2)从这些文件名中,生成一个列表并输入它们进入tf.train.string_input_producer 以获取队列,(3)同时生成tf.RandomShuffleQueue 来做其他事情,(4)使用tf.train.batch_join 生成批量输入。
我认为这很复杂,我不确定这个过程的逻辑。就我而言,我有一个.npy 文件列表,我想生成分片 tfrecords(多个单独的 tfrecords,而不仅仅是一个大文件)。这些.npy 文件中的每一个都包含不同数量的正样本和负样本(2 类)。一种基本方法是生成一个大型 tfrecord 文件。但文件太大(~20Gb)。所以我求助于分片 tfrecords。有没有更简单的方法来做到这一点?谢谢。
【问题讨论】:
标签: python tensorflow tensorflow-datasets tfrecord