Keras 数据加载实用程序(位于 keras.utils
中)可以帮助您将磁盘上的原始数据转换为 tf.data.Dataset
对象,该对象可用于有效地训练模型。
这些加载实用程序可以与预处理层结合使用,以便在训练之前进一步转换您的输入数据集。
这是一个简单的示例:假设您有 10 个文件夹,每个文件夹包含来自不同类别的 10,000 张图像,并且您想要训练一个分类器,将图像映射到其类别。
您的训练数据文件夹将如下所示
training_data/
...class_a/
......a_image_1.jpg
......a_image_2.jpg
...class_b/
......b_image_1.jpg
......b_image_2.jpg
etc.
您可能还有一个以相同方式构建的验证数据文件夹 validation_data/
。
您可以简单地执行以下操作
import keras
train_ds = keras.utils.image_dataset_from_directory(
directory='training_data/',
labels='inferred',
label_mode='categorical',
batch_size=32,
image_size=(256, 256))
validation_ds = keras.utils.image_dataset_from_directory(
directory='validation_data/',
labels='inferred',
label_mode='categorical',
batch_size=32,
image_size=(256, 256))
model = keras.applications.Xception(
weights=None, input_shape=(256, 256, 3), classes=10)
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
model.fit(train_ds, epochs=10, validation_data=validation_ds)