gpt4 book ai didi

python - Keras 图像数据增强

转载 作者:太空宇宙 更新时间:2023-11-04 02:07:13 25 4
gpt4 key购买 nike

我发现很难理解 ImageDataGeneratorflow_from_directory 是如何工作的,我使用以下代码为我的 CNN 模型增加图像数据,因为没有训练图像可用的非常少。

batch_size = 16
from keras.preprocessing.image import ImageDataGenerator
train_transformed = 'dataset/train_transformed'
train_datagen = ImageDataGenerator(
rescale=1./255,
horizontal_flip=True,
fill_mode='nearest')

train_generator = train_datagen.flow_from_directory(
'dataset/train',
target_size=(150, 150),
batch_size=batch_size,
class_mode='binary',
save_to_dir=train_transformed,
save_prefix='train_aug',
save_format='png')

这是一个具有 20 个正图像和 20 个负图像的二元分类问题。所以我有 dataset/train 文件夹,其中有 2 个子文件夹,每个子文件夹有 20 张图像。当我用上面的图像生成器训练模型时,我可以看到 4160 图像被保存在 dataset/train_transformed 文件夹中并假定 4160 图像被用于训练模型。

model.fit_generator(
train_generator,
steps_per_epoch=1000 // batch_size,
epochs=5,
validation_data=validation_generator,
validation_steps=100 // batch_size)

据我了解,每个epoch的样本数= batch_size X steps_per_epoch
正如我的 steps_per_epoch = 1000/16 = 62,
#每个 epoch 中的样本应该是 62 x 16 = 992
No of epochs 设置为 5,因此生成的图像总数应为 992 x 5 = 4960
并且没有生成的图像是随机的具有相同的超参数。
只是需要对上述配置进行解释。

最佳答案

您的计算似乎是正确的。还要注意 flow_from_directory 有一个 shuffle 参数(默认为 true)。这意味着生成器将在每个时期生成 992 张图像(batch_size 乘以 steps_per_epoch),但它们出现的顺序对于每个时期都不同。

关于python - Keras 图像数据增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54414885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com