【问题标题】:Obtaining number of images after using imagedatagenerator() in keras and before training在 keras 中使用 imagedatagenerator() 之后和训练之前获取图像数量
【发布时间】:2020-06-15 19:20:10
【问题描述】:

以下是我正在尝试使用的示例代码。我想知道是否有任何方法可以在应用 imagedatagenerator() 之后和执行训练(即 .fit_generator)之前立即获取图像数量。原因是,我想稍后使用这些图像而不是我的原始数据集进行训练。

train_datagen=ImageDataGenerator(rescale=1./255,
                                 #featurewise_center=True,
                                 samplewise_center=True,
                                 zca_epsilon=1e-06,
                                 #channel_shift_range=100.0,
                                 #samplewise_std_normalization=True,
                                 #featurewise_std_normalization=True,
                                 rotation_range=15,
                                 #width_shift_range=0,
                                 #height_shift_range=0,
                                 shear_range=0.2,
                                 fill_mode='nearest',
                                 zoom_range=0.1,
                                 horizontal_flip= True,
                                )

val_datagen= ImageDataGenerator(rescale=1./255,
                                 samplewise_center=True,
                               )

train_generator= train_datagen.flow(X_train, Y_train, batch_size=batch_size,shuffle=True)
val_generator= val_datagen.flow(X_val, Y_val,batch_size=batch_size,shuffle=True)

history= model.fit_generator(train_generator,
                            batch_size= batch_size,
                            steps_per_epoch=trainSize,
                            epochs=10,
                            validation_data=val_generator,
                            validation_steps=valSize,
                            callbacks=[LearningRateScheduler(lr_schedule)]
                            #callbacks=[es_callback]
                            )

【问题讨论】:

    标签: tensorflow image-processing keras conv-neural-network


    【解决方案1】:

    不,因为ImageDataGenerator 可以无限生成增强图像,并且用于训练的最终生成图像数量是batch_sizesteps_per_epoch 和您训练的时期数的函数。您可以使用生成器的flow() 方法的save_to_dir 参数来保存增强图像。图片数量应等于batch_size 乘以steps_per_epoch 乘以epochs

    【讨论】:

    • 感谢您的回复。但是,当我们使用flow()save_to_dir 参数时,我们是否必须设置一个明确的范围。或者我们可以得到不考虑任何范围的增强图像?
    猜你喜欢
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2018-08-07
    • 2020-09-05
    • 2018-10-12
    • 2017-07-15
    • 2019-07-05
    相关资源
    最近更新 更多