我的实验图像数据非常少。我的数据集中每个类只有 40 张图像。所以我想通过使用ImageDataGenerator
以下方法来增加所有的训练集、验证集和测试集:
train_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
val_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
test_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
我将它们与flow_from_directory
函数一起使用,在模型训练中使用训练和验证生成器,但验证数据似乎没有增加(验证集中的图像数量似乎与初始数量没有变化)。不知何故,这也发生在测试集中。当我用 sklearn's 评估模型时,我发现了它classification_report
。结果列中显示的support
数量与增强前测试集中的图像数量完全相同。
precision recall f1-score support
Blue Whale 1.00 1.00 1.00 4
Killer Whale 1.00 0.75 0.60 4
Shark 0.50 0.75 0.75 4
accuracy 0.90 12
macro avg 0.83 0.83 0.78 12
weighted avg 0.83 0.83 0.78 12
如何使用 Tensorflow 生成器来增加验证和测试集?