【发布时间】:2017-05-01 16:03:12
【问题描述】:
我阅读了一些有关 Keras 数据增强的材料,但对我来说仍然有点模糊。是否有任何参数可以控制在数据增强步骤中从每个输入图像创建的图像数量?在this example 中,我看不到任何控制从每个图像创建的图像数量的参数。
例如,在下面的代码中,我可以有一个参数 (num_imgs) 用于控制从每个输入图像创建并存储在名为 preview 的文件夹中的图像数量;但在实时数据增强中,没有任何参数用于此目的。
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
num_imgs = 20
datagen = ImageDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest')
img = load_img('data/train/cats/cat.0.jpg') # this is a PIL image
x = img_to_array(img) # this is a Numpy array with shape (3, 150, 150)
x = x.reshape((1,) + x.shape) # this is a Numpy array with shape (1, 3, 150, 150)
# the .flow() command below generates batches of randomly transformed images
# and saves the results to the `preview/` directory
i = 0
for batch in datagen.flow(x, batch_size=1,
save_to_dir='preview', save_prefix='cat', save_format='jpeg'):
i += 1
if i > num_imgs:
break # otherwise the generator would loop indefinitely
【问题讨论】:
标签: python deep-learning theano keras