Tensorflow 如何配置花卉数据集以提高性能?
pythonserver side programmingprogrammingtensorflow
创建模型时,花卉数据集会给出一定百分比的准确度。如果需要配置模型以提高性能,则缓冲区预取将与重新缩放层一起使用。通过将重新缩放层作为 Keras 模型的一部分,将此层应用于数据集上的 Keras 模型。
阅读更多:什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用以创建神经网络?
我们将使用花卉数据集,其中包含数千朵花的图像。它包含 5 个子目录,每个类都有一个子目录。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,无需配置,并且可以免费访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。
AUTOTUNE = tf.data.AUTOTUNE train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE) val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE) num_classes = 5 print("构建顺序模型") model = tf.keras.Sequential([ layers.experimental.preprocessing.Rescaling(1./255), layers.Conv2D(32, 3,activation='relu'), layers.MaxPooling2D(), layers.Conv2D(32, 3, activation='relu'), layers.MaxPooling2D(), layers.Conv2D(32, 3, activation='relu'), layers.MaxPooling2D(), layers.Flatten(), layers.Dense(128, activation='relu'), layers.Dense(num_classes) ])
代码来源:https://www.tensorflow.org/tutorials/load_data/images
输出
构建顺序模型
解释
- 使用缓冲预取,以便可以从磁盘获取数据而不会阻塞 I/O。
- 这是加载数据时的重要步骤。
- ".cache()"方法有助于在第一个时期从磁盘加载图像后将其保存在内存中。
- 这可确保数据集在训练模型时不会成为障碍。
- 如果数据集太大而无法放入内存,则可以使用相同的方法创建高性能磁盘缓存。
- ".prefetch()"方法在数据训练时将数据预处理和模型执行操作重叠。