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)