![](/img/trans.png)
[英]Keras fit_generator: random augmentation inside the generator + shuffling
[英]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.