在Keras ImageDataGenerator流方法中遇到save_to_dir问题

时间:2016-11-21 08:45:50

标签: keras

我想保存我的ImageDataGenerator正在创建的增强图像,以便我以后可以使用它们。当我执行以下代码时,它运行正常,但我希望保存的图像不显示在我试图保存它们的目录中。

gen = image.ImageDataGenerator(rotation_range=17, width_shift_range=0.12,
                     height_shift_range=0.12, zoom_range=0.12, horizontal_flip=True, dim_ordering='th')

batches = gen.flow_from_directory(path+'train', target_size=(224,224),
        class_mode='categorical', shuffle=False, batch_size=batch_size, save_to_dir=path+'augmented', save_prefix='hi')

我觉得我一定不能正确使用这个功能。知道我做错了吗?

2 个答案:

答案 0 :(得分:6)

gen.flow_from_directory为您提供了一个生成器。图像并非真正生成。为了获取图像,您可以遍历生成器。例如

i = 0
for batch in gen.flow_from_directory(path+'train', target_size=(224,224),
    class_mode='categorical', shuffle=False, batch_size=batch_size,
    save_to_dir=path+'augmented', save_prefix='hi'):

    i += 1
    if i > 20: # save 20 images
        break  # otherwise the generator would loop indefinitely

答案 1 :(得分:0)

它只是一个声明,您必须使用该生成器,例如.next()

batches.next()

然后您将在path+'augmented'中看到图像