【发布时间】:2022-11-10 14:57:27
【问题描述】:
我正在使用具有以下结构的鲜花数据集:
我已经将这些数据拆分为训练集和验证集,并且我的网络基于这两个集运行。我将数据分成 80:20 的拆分,80 个用于训练,20 个用于验证。我想要一个数据拆分,所以它是 80 个训练、10 个验证和 10 个测试。我的代码在这里:
import pathlib
dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz"
data_dir = tf.keras.utils.get_file(origin=dataset_url,
fname='flower_photos',
untar=True)
data_dir = pathlib.Path(data_dir)
#Loader params
batch_size = 32
img_height = 180
img_width = 180
#Training imgs
train_ds = tf.keras.utils.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="training",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
#Validation imgs
val_ds = tf.keras.utils.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="validation",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
我想知道如何更改此代码以添加测试集以使用来自 tensorflow 的 model.evaluate() 测试我的网络。我想在创建训练/验证集之前从文件夹中获取图像,但无法弄清楚或者是否有更简单的方法。
【问题讨论】:
-
您是否遵循了 keras 教程?或者阅读文档?他们告诉你如何做到这一点。
-
您可以使用 tf.keras.utils.split_dataset 函数,将 valid_ds 拆分为 test_ds。
标签: python tensorflow keras deep-learning conv-neural-network