I have trained a ResNet50 using Keras for classication. For testing, I used the ImageDataGenerator flow_from_directory() method to pass input to the model. Here's the code for that:
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.
However when I test the model on the test images, it doesn't predict for a few images.
pred = model.predict(
testgen,
batch_size=32,
steps=testgen.n//testgen.batch_size
)
print(len(pred))
18208
Anyone help?
You should try removing steps=testgen.n//testgen.batch_size
, since calculating the steps
results in a different number of samples, when you have a remainder by dividing samples // batch_size
.