2017-09-24 244 views
1

我想看看使用ImageDataGenerator進行數據增加的結果。 Keras讀取數據,但它似乎沒有執行任何代。我得到作爲輸出:keras ImageDataGenerator flow_from_directory生成的數據

找到32屬於1類的圖像。

但沒有生成的圖像被保存在我在提到save_to_dir flow_from_directory方法的參數的目錄。

這裏我的代碼:

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') 

我甚至試過一個圖像進行增強,它未保存。

可能是什麼原因?我是凱拉斯的首發。

注意:class模式是None,因爲我沒有特定的類別。

+0

你確定你的圖像在'images_path'的子目錄嗎? – petezurich

回答

0

flow_from_directory()返回DirectoryIterator。在遍歷此迭代器之前,文件不會被保存。

例如,

iterator = datagen.flow_from_directory(...) 
next(iterator) 

將一批增強圖像保存到save_to_dir。您還可以在迭代器上使用for循環來控制將生成多少個圖像。

相關問題