Keras model.predict() 未预测某些图像的 类

Keras model.predict() not predicting classes for some images

我使用 Keras 训练了 ResNet50 进行分类。为了进行测试,我使用了 ImageDataGenerator flow_from_directory() 方法将输入传递给模型。这是相关代码:

testdata_generator = keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function=tf.keras.applications.resnet.preprocess_input
)

testgen = testdata_generator.flow_from_directory(
    './test',
    shuffle=False,
    target_size=(224,224),
    color_mode='rgb',
    batch_size=32,
    class_mode=None
)
Found 18223 images belonging to 1 classes.

然而,当我在测试图像上测试模型时,它无法预测一些图像。

pred = model.predict(
    testgen,
    batch_size=32,
    steps=testgen.n//testgen.batch_size
)
print(len(pred))
18208

有人帮忙吗?

您应该尝试删除 steps=testgen.n//testgen.batch_size,因为当您通过除以 samples // batch_size.

得到余数时,计算 steps 会得到不同数量的样本