如何使用 Tensorflow 配置数据集以提高性能?

pythonserver side programmingprogrammingtensorflow

可以借助缓冲区预取、shuffle 方法和缓存方法配置花卉数据集以提高性能。可以使用缓冲预取来确保可以从磁盘获取数据而不会阻塞 I/O。Dataset.cache() 在第一个时期将图像从磁盘加载后将其保存在内存中。 Dataset.prefetch() 将在训练时重叠数据预处理和模型执行。

阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?

使用 Keras Sequential API,它有助于构建用于处理普通层堆栈的顺序模型,其中每个层只有一个输入张量和一个输出张量。

我们正在使用 Google Colaboratory 来运行以下代码。 Google Colab 或 Colaboratory 有助于通过浏览器运行 Python 代码,并且不需要零配置并可以自由访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。

print("配置数据集以获得更好的性能")
AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)

代码来源:https://www.tensorflow.org/tutorials/images/classification

输出

配置数据集以获得更好的性能性能

解释

  • 可以使用缓冲预取的概念,以便可以从磁盘获取数据而不会阻塞 I/O。
  • 加载数据时可以使用两种重要方法。
    • cache() 在第一个时期将图像从磁盘加载后将其保存在内存中。
    • 这将确保数据集在训练模型时不会成为瓶颈。
    • 如果数据集太大而无法放入内存,则可以使用此方法创建高性能的磁盘缓存。
    • prefetch() 将在训练期间重叠数据预处理和模型执行。

相关文章