以往在传统模型训练,在处理比较小的数据的时候,我们的都是一次性加载进内存,然后再分batch灌给模型,但是数据量特别大的时候,这种方法就不太现实了,tensorflow针对大数据量输入模型部分,提供了几种方法:
1、To process lines from files, use tf.data.TextLineDataset
:
dataset = tf.data.TextLineDataset(["file1.txt", "file2.txt"])
2、To process records written in the TFRecord
format, use TFRecordDataset
:
dataset = tf.data.TFRecordDataset(["file1.tfrecords", "file2.tfrecords"])
3、To create a dataset of all files matching a pattern, use tf.data.Dataset.list_files
:
dataset = tf.data.Dataset.list_files("/path/*.txt") # doctest: +SKIP
此外还有 tf.data.FixedLengthRecordDataset
and tf.data.Dataset.from_generator
具体每一个方法如何使用可以上官方文档进行查询