如何使用 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。
- 下载数据后,为加载器定义一些参数。
- 数据被拆分为训练集和验证集。