如何使用 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() 将在训练期间重叠数据预处理和模型执行。