如何使用 Tensorflow 将花卉数据集拆分为训练和验证?

pythonserver side programmingprogrammingtensorflow

可以使用 keras 预处理 API,在‘image_dataset_from_directory’的帮助下,将花卉数据集拆分为训练集和验证集要求对验证集进行百分比分割。

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

使用 keras.Sequential 模型创建图像分类器,并使用 preprocessing.image_dataset_from_directory 加载数据。数据有效地从磁盘加载。识别过度拟合并应用技术来缓解它。这些技术包括数据增强和 dropout。有 3700 朵花的图像。该数据集包含 5 个子目录,每个类有一个子目录。它们是:雏菊、蒲公英、玫瑰、向日葵和郁金香。

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

batch_size = 32
img_height = 180
img_width = 180
print("数据正在拆分为训练集和验证集")
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
   data_dir,
   validation_split=0.2,
   subset="training",
   seed=123,
   image_size=(img_height, img_width),
   batch_size=batch_size)

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

输出

数据被拆分为训练集和验证集
发现 3670 个文件属于 5 个类别。
使用 2936 个文件进行训练。

解释

  • 使用 image_dataset_from_directory 实用程序从磁盘加载这些图像。
  • 这将从磁盘上的图像目录转到 tf.data.Dataset。
  • 下载数据后,为加载器定义一些参数。
  • 数据被拆分为训练集和验证集。

相关文章