Keras seed不会增强图像,也不会遮罩图像

Keras seed不会增强图像,也不会遮罩图像,keras,Keras,我试图同步转换我的图像和掩码标签,但随机增强对这两个生成器的应用不同(当我将两个图像都保存到一个目录中时得到验证) 我试过了 在我的库堆栈中设定所有生成器的种子 禁用洗牌和多处理 确保图像和遮罩之间的增强选项相同 有一件事确实奏效了,那就是将批量大小设置为1,但随后我的培训表现受到了影响 seed_val=0 data_gen_args = dict( rescale=1./255, horizontal_flip=True, validation_split=va

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

我试过了

  • 在我的库堆栈中设定所有生成器的种子
  • 禁用洗牌和多处理
  • 确保图像和遮罩之间的增强选项相同
有一件事确实奏效了,那就是将批量大小设置为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))

尝试将图像和遮罩的
shuffle
设置为
False

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)

不幸的是,这并没有带来什么不同,不过还是要感谢你的建议。也许你必须构建自己的一代。你是对的,不管将来是否需要更多功能,我可能不得不这样做。我只是想澄清为什么我的代码在遵循keras文档时不起作用,然后再继续下去。