【发布时间】:2020-11-12 01:46:04
【问题描述】:
您好,我有一个 jpg 图像数据集,我正在使用 Keras 和 Tensorflow。
我的数据集有 2 个子目录:training 和 test。
我想在 validation 部分中动态拆分我的 training。
我已经看到ImageDataGenerator 有一个名为validation_split 的方法。
我的问题是我也想应用数据增强,但只适用于剩余的 training 部分。
这是代码(它还在验证部分应用数据扩充)
apply_data_augmentation = True
if apply_data_augmentation:
train_data_gen = ImageDataGenerator(rotation_range=10,
width_shift_range=10,
height_shift_range=10,
zoom_range=0.3,
horizontal_flip=True,
vertical_flip=True,
fill_mode='constant',
cval=0,
shear_range=0.2,
rescale=1./255,
validation_split=0.2)#means 20% of training is splitted dinamically into validation
else:
train_data_gen = ImageDataGenerator(rescale=1./255,
validation_split=0.2)
train_gen = train_data_gen.flow_from_directory(training_dir,
target_size=(image_h, image_w),
batch_size=bs,
subset='training',
class_mode='categorical',
shuffle=True,
classes=['NO_MASK','ALL_MASK','SOME_MASK'],
seed=SEED,
color_mode="rgb")
valid_data_gen = ImageDataGenerator(rescale=1./255)
valid_gen = train_data_gen.flow_from_directory(validation_dir,
target_size=(image_h, image_w),
batch_size=bs,
subset='validation',
class_mode='categorical',
shuffle=True,
classes=['NO_MASK','ALL_MASK','SOME_MASK'],
seed=SEED,
color_mode="rgb")
谢谢。
【问题讨论】:
标签: python-3.x tensorflow keras