我在跟踪TensorFlow的 Image Segmentation 辅导的。其中有以下几行:
train_dataset = train.cache().shuffle(BUFFER_SIZE).batch(BATCH_SIZE).repeat() train_dataset = train_dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
cache()
缓存此数据集中的元素。
prefetch()
创建从该数据集中预取元素的数据集。
这个 tf.data.Dataset.cache 转换可以在内存或本地存储中缓存数据集。这将避免在每个历元期间执行某些操作(如打开文件和读取数据)。下一个历元将重用缓存转换缓存的数据。
tf.data.Dataset.cache
cache 在张量流中 here .
cache
Prefetch 重叠训练步骤的预处理和模型执行。当模型执行训练步骤s时,输入管道读取步骤s+1的数据。这样做可以将步长时间减少到训练和提取数据所需时间的最大值(而不是总和)。
Prefetch
prefetch 在张量流中 here
prefetch