如何在张量流,keras中关闭ImageDataGenerator和flow_from_Directory的自动数据增强功能

时间:2020-05-20 19:59:51

标签: python tensorflow keras data-augmentation

我正在使用以下代码。我不想进行任何数据扩充,因此我将ImageDataGeberator和flow_from_directory中的所有变量都设置为None,但是仍然看到我在flow_from_dierctory(save_to_dir)中设置的目录在训练期间变得越来越多,这意味着数据增加了吗?我有81张要训练的图像,但是此目录中的图像数量甚至达到500张。这就是为什么我认为这两个图像之一是扩充数据。如何停止数据扩充? 我正在使用model.fit_geenrator。

train_frames_datagen = ImageDataGenerator(**data_gen_args)
train_masks_datagen = ImageDataGenerator(**mask_gen_args)
val_frames_datagen = ImageDataGenerator(**data_gen_args)
val_masks_datagen = ImageDataGenerator(**mask_gen_args)


def TrainAugmentGenerator(seed = 1, batch_size = 3):

    train_image_generator = train_frames_datagen.flow_from_directory(
    DATA_PATH + 'train_frames/',
    batch_size = batch_size, seed = seed, save_to_dir=DATA_PATH + 'train_frames_aug/', interpolation='nearest')
    print (train_image_generator, "train_image_generator")

    train_mask_generator = train_masks_datagen.flow_from_directory(
    DATA_PATH + 'train_masks/',
    batch_size = batch_size, seed = seed)
    i=0
    while True:
        X1i = train_image_generator.next()
        i+=1
        print(i, "i")
        print(X1i[0].shape, "X1i[0].shape")
        X2i = train_mask_generator.next()
        #One hot encoding RGB images
        mask_encoded = [rgb_to_onehot(X2i[0][x,:,:,:], id2code) for x in range(X2i[0].shape[0])]

        yield X1i[0], np.asarray(mask_encoded)

0 个答案:

没有答案