TensorFlow数据集&x27;s函数cache()和prefetch()的作用是什么?

TensorFlow数据集&x27;s函数cache()和prefetch()的作用是什么?,tensorflow,caching,dataset,tensorflow-datasets,prefetch,Tensorflow,Caching,Dataset,Tensorflow Datasets,Prefetch,我正在学习TensorFlow的教程。其中有以下几行: train_dataset = train.cache().shuffle(BUFFER_SIZE).batch(BATCH_SIZE).repeat() train_dataset = train_dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE) cache()函数的作用是什么?这是一个相当模糊和自我参照的概念: 缓存此数据集中的元素 prefetch()函数的作用是

我正在学习TensorFlow的教程。其中有以下几行:

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转换可以在内存或本地存储中缓存数据集。这将避免在每个历元期间执行某些操作(如文件打开和数据读取)。下一个时代将重用缓存转换缓存的数据

    您可以在tensorflow中找到有关
    缓存的更多信息

    预取
    与训练步骤的预处理和模型执行重叠。当模型执行训练步骤s时,输入管道正在读取步骤s+1的数据。这样做可以将步长时间减少到训练和提取数据所需时间的最大值(与总和相反)

    您可以在tensorflow中找到有关预取的更多信息

    希望这能回答你的问题。快乐学习