Keras种子不会增强图像,也不会屏蔽相同的图像



我试图同步转换我的图像和掩码标签,但随机增强对两个生成器的应用不同(当我将两个图像都保存到目录中时得到了验证(。

我试过

  • 在我的库堆栈中播种所有生成器
  • 禁用混洗和多处理
  • 确保图像和遮罩之间的增强选项相同

有一件事确实有效,那就是将批量大小设置为1,但随后我的训练表现受到了影响。

seed_val=0
data_gen_args = dict(
rescale=1./255,
horizontal_flip=True,
validation_split=validation_split)
image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)
image_generator = image_datagen.flow_from_directory(
'data/x/train_images/',
target_size=(224, 224),
color_mode='rgb',
class_mode=None,
batch_size=batch_size,
subset='training',
save_to_dir='tmp/img/',
seed=seed_val)
mask_generator = mask_datagen.flow_from_directory(
'data/x/train_annotations/',
target_size=(224, 224),
color_mode='grayscale',
class_mode=None,
batch_size=batch_size,
subset='training',
save_to_dir='tmp/mask/',
seed=seed_val)
train_generator = zip((image_generator), (mask_generator))

尝试将shuffleFalse设置为图像和掩码

image_generator = image_datagen.flow_from_directory(
'data/x/train_images/',
target_size=(224, 224),
shuffle = False,
color_mode='rgb',
class_mode=None,
batch_size=batch_size,
subset='training',
save_to_dir='tmp/img/',
seed=seed_val)
mask_generator = mask_datagen.flow_from_directory(
'data/x/train_annotations/',
target_size=(224, 224),
shuffle = False,
color_mode='grayscale',
class_mode=None,
batch_size=batch_size,
subset='training',
save_to_dir='tmp/mask/',
seed=seed_val)

我遇到了一个问题,我对图像和掩码的增强顺序不一致,例如

img: pan, increase brightness, transform, rgbshift
mask: pan, transform

据此;增加亮度";更改种子的值。应该是

img: pan, transform, increase brightness, rgbshift 
mask: pan, transform

最新更新