TFのどこにいても見つかりませんでした。
私の解決策は、(無限の)繰り返しでバッチ処理を行い、必要なだけ頻繁にノードを呼び出すことでした(データセット内の項目数を計算して事前に決定し、バッチサイズ= 1つのエポック)。
これはtensorflow.contrib.data.TFRecordDataset
を使用してTFの最近のリリースでは容易になった。
d = TFRecordDataset('some_filename.tfrecords')
d = d.map(function_which_parses_your_protobuf_format)
d = d.repeat()
d = d.shuffle()
d = d.batch(batch_size)
あなたはそれがより多くの仕事のように思えるが、それは提供
record_count = sum([1 for r in tf.python_io.tf_record_iteration('your_filename.tfrecord')])
を使用して、データセットのサイズを決定することができますたとえば、キャッシングを使用できるため、柔軟性が向上しているため、事前にデータセットを前処理する必要がなく、オリジナルの変更されていないデータセットをtfrecordファイルに保存できます。