【问题标题】:Number of augmented images on the fly in KerasKeras 中动态增强图像的数量
【发布时间】:2022-08-21 19:07:21
【问题描述】:

我有一个代码来增强如下图像,

# Augmentation
train_datagen = ImageDataGenerator(rotation_range=5,  # rotation
                                   width_shift_range=0.2,  # horizontal shift
                                   zoom_range=0.2,  # zoom
                                   horizontal_flip=True,  # horizontal flip
                                   brightness_range=[0.2,0.8])  # brightness

# Epochs
epochs = 25
# Batch size
batch_size = 32

history = model.fit(train_datagen.flow(x_train,y_train,
                                       batch_size=batch_size, 
                                       seed=27,
                                       shuffle=False),
                    epochs=epochs,
                    steps_per_epoch=x_train.shape[0] // batch_size,
                    validation_data=(x_test,y_test),
                    verbose=1)

我试图准确了解在训练过程中由于增强而将创建多少额外的图像。 第二个问题是如何为训练动态创建额外的 50K 图像?

  • 嗨@Neg,不会创建额外的图像。所有原始图像只是在每个 epoch 中根据提供给ImageDataGenerator 的指令进行转换,然后用于训练,因此每个 epoch 中的图像数量等于您拥有的原始图像数量。

标签: image tensorflow keras image-augmentation


【解决方案1】:

数据生成器不会创建新图像,而只是为每个时期转换它。 如果您的整个训练集中有 x_train ) = [x1,x2,x3] 图像,则在每个 epoch 训练时,模型应该看到相同的 x_train 但是您的 x_train 太小(只有 3 个图像),所以每个 epoch数据生成器将向模型提供整个 x_train 稍微转换的内容(根据您在 ImageDataGenerator 中输入的参数),例如:

  • 对于 epoch 1 x_train:[x1,x2,x3]
  • 对于 epoch 2 x_train:[x1_t1,x2_t1,x3_t1]
  • 对于 epoch 3 x_train:[x1_t2,x2_t2,x3_t2] ETC...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    相关资源
    最近更新 更多