簡體   English   中英

適合keras中的生成器和數據增強

[英]Fit generator and data augmentation in keras

我有一個5個樣本的測試數據集和2000個樣本的訓練數據集。 我想補充我的數據集,我正在關注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無關, sample_per_epoch是在一個紀元中處理的樣本數。

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

不幸的是 - 當你只有5個例子將batch_size設置為50時,你的生成器只會在每個批次中返回5個例子(盡管有batch_size )。 因此它不會將您的批次擴展到50

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM