首页 > 解决方案 > 从 Keras 中的同一目录生成训练、测试和验证集

问题描述

我正在使用 keras 构建图像分类模型,我的所有数据都在一个目录中,每个类都有子文件夹:

data/
----class1/
----class2/
----class3/
----class4/

我想知道是否有一种方法可以使用ImageDataGenerator.

标签: python-3.xkeras

解决方案


是的,有一种方法可以做到这一点。

train_datagen = ImageDataGenerator(rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
validation_split=0.2) # set validation split

train_generator = train_datagen.flow_from_directory(
    train_data_dir,
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary',
    subset='training') # set as training data

validation_generator = train_datagen.flow_from_directory(
    train_data_dir, # same directory as training data
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary',
    subset='validation') # set as validation data

model.fit_generator(
    train_generator,
    steps_per_epoch = train_generator.samples // batch_size,
    validation_data = validation_generator, 
    validation_steps = validation_generator.samples // batch_size,
    epochs = nb_epochs)

https://keras.io/preprocessing/image/


推荐阅读