Keras fit_generator(datagen.flow(X_train))函数拍摄的图片少于X_train的图片吗?

时间:2019-04-30 00:57:14

标签: python keras

我正在使用keras stylesheet = 'the really big CSS stylesheet string' def remove_qslider_tick_bug(): # Remove snippet return filtered_stylesheet 函数来训练我的初始模型,我对其在每个时期拍摄的图像数量感到困惑。谁能帮我告诉我它是如何工作的。我的代码在下面。

我正在使用this keras文档。

fit_generator(datagen.flow())

现在我在from keras.preprocessing.image import ImageDataGenerator datagen = ImageDataGenerator(rotation_range = 15, horizontal_flip = True) # Fitting the model with history = inc_model.fit_generator(datagen.flow(X_train, train_labels, batch_size=10), epochs=20, validation_data = (X_test, test_labels), callbacks=None) 中的总图像为4676。但是,每次运行此历史记录行,我都会得到

X_train

为什么没有拍摄全部Epoch 1/20 936/936 [========================] - 167s 179ms/step - loss: 1.4236 - acc: 0.3853 - val_loss: 1.0858 - val_acc: 0.5641 张图像? 另外,如果我将X_train从10更改为15,它将开始拍摄更少的图像,例如

batch_size

谢谢。

1 个答案:

答案 0 :(得分:2)

936436实际上是指每个时期的样本批次。您将批次大小设置为10和15,因此在每种情况下,每个时期都要对936 X 10436 X 15个样本进行模型训练。由于您使用ImageDataGenerator通过将转换应用于现有训练实例来创建其他训练实例,因此样本甚至比原始训练集还要多。