Vengineerの妄想

人生を妄想しています。

TensorFlow の tf.data (TfRecord)



TensorFlowにおける、Input Pipeline の技術的な説明です。tf.data と TFRecord が出てきます。

TensorFlowは、どんどん進化しているので、今は、Input Pipeline を使って、モデルにデータを流し込む感じなのね。

ドキュメント:DatasetsTFRecordDataset



    dataset = tf.data.TfRecordDataset(files)

    dataset = dataset.shuffle(buffer_size=X)

    dataset = dataset.map(lambda record: parse(record))

    dataset = dataset.batch(batch_size=Y)

が基本パターン。

batch の後に、Optimize を置くことで、最適化ができる。

Map と Batch は、CPUによる並列化も可能。 ParallelMap, ParallelBatch に

Map と Batch を融合した、MapAndBatch もある。