2017-10-17 53 views
1

我有一個包含2000個樣本的5個樣本和一個訓練數據集的測試數據集。我想我的增強數據集,我被keras在keras中適合生成器和數據增加

datagen_test = ImageDataGenerator(
       featurewise_center=True, 
       featurewise_std_normalization=True, 
       rotation_range=20, 
       width_shift_range=0.2, 
       height_shift_range=0.2, 
       horizontal_flip=True 
       ) 
datagen_train = ImageDataGenerator(
       featurewise_center=True, 
       featurewise_std_normalization=True, 
       rotation_range=20, 
       width_shift_range=0.2, 
       height_shift_range=0.2, 
       horizontal_flip=True 
       ) 
datagen_train.fit(x_train) 
validation_generator = datagen_test.flow(x_test, y_test, batch_size=5) 


model.compile(loss=keras.losses.categorical_crossentropy, 
      optimizer='rmsprop', 
      metrics=['accuracy']) 
# fits the model on batches with real-time data augmentation: 
model.fit_generator(datagen_train.flow(x_train, y_train, batch_size=50), 
       steps_per_epoch=len(x_train)/10, epochs=epochs, 
       validation_data=validation_generator, validation_steps=800) 

我相信的是,steps_per_epoch參數傳遞到分類的批數以下提供的例子。我在我的發生器中設置batch_size爲50,但我只有5個樣本。我認爲我的問題與samples_per_epoch無關,這是在一個時期處理的樣本數量。

我的問題是: 生成器是否會轉換我的圖像,以創建50個不同的樣本,並將它們傳遞給分類器或將只轉換5?

+0

[Augementations在Keras ImageDataGenerator(https://stackoverflow.com/questions/40737870/augementations-in-keras-imagedatagenerator) –

+0

@WilmarvanOmmeren不完全 – DimKoim

+0

檢查這個可能的重複:當數據集大小不最小批量的最小批量的倍數,還是包含其他批次的樣品?](https://stats.stackexchange.com/questions/187591/when-the-data-set-size不是多個最小批量大小應該是最後一個) – Matin

回答

0

不幸的是 - 當你將batch_size設置爲50時,只有5個例子會使你的發生器在每批中只返回5個例子(儘管batch_size)。所以它不會將批次擴展到50