首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImageDataGenerator flow_from_directory生成的数据

ImageDataGenerator flow_from_directory生成的数据
EN

Stack Overflow用户
提问于 2017-09-24 15:37:54
回答 2查看 3.8K关注 0票数 1

我试图看到使用ImageDataGenerator进行数据增强的结果。Keras读取数据,但它似乎不对数据执行任何生成。我得到输出:

发现32幅图像,分属于1类。

但是在我在save_to_dir参数flow_from_directory方法中提到的目录中没有保存生成的图像。

这里我的代码:

代码语言:javascript
运行
复制
from keras.preprocessing.image import ImageDataGenerator,  array_to_img, img_to_array, load_img
from keras import backend as K
K.set_image_dim_ordering('th')

#the path of images to apply augmentation on them
images_path='train'
#create an instance of ImageDataGenerator
datagen = ImageDataGenerator(width_shift_range=0.2,
        height_shift_range=0.2)
datagen.flow_from_directory(directory=images_path, target_size=(480,752),color_mode='grayscale', class_mode=None, save_to_dir='saved',save_prefix='keras_')
img = load_img('train/images/photon10.png')
x = img_to_array(img)
x = x.reshape((1,) + x.shape)
datagen.flow(x,batch_size=1,save_to_dir='saved',save_format='png')

我甚至试图在一幅图像上进行增强,但它没有被保存下来。

可能是什么原因?我是凯拉斯的新手。

注意:类模式为None,因为我没有特定的类别。

EN

回答 2

Stack Overflow用户

发布于 2017-09-24 18:23:06

flow_from_directory()返回一个DirectoryIterator。除非您在此迭代器上迭代,否则不会保存这些文件。

例如,

代码语言:javascript
运行
复制
iterator = datagen.flow_from_directory(...)
next(iterator)

将一批增强图像保存到save_to_dir。您还可以在迭代器上使用for循环来控制生成多少图像。

票数 1
EN

Stack Overflow用户

发布于 2020-05-12 12:11:18

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

代码语言:javascript
运行
复制
datagen.next()

然后您将在saved中看到图像

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46391810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档