1

CNN在 Keras 中训练了一个文件夹中的图像(两种蜜蜂)。我有第二个文件夹,其中bees包含用于预测的未标记图像。

我能够预测单个图像(根据下面的代码)。

from keras.preprocessing import image

test_image = image.load_img('data/test/20300.jpg')
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis = 0)

prob = classifier.predict_proba(test_image)

结果:

prob
Out[214]: array([[1., 0.]], dtype=float32)

我希望能够预测所有图像(大约 300 个)。

有没有办法批量加载和预测所有图像?并且将predict()能够处理它,正如它所期望的和数组预测的那样?

4

1 回答 1

1

Model.predict_proba()(这是真的的同义词predict()接受批量输入。从文档中:

为输入样本生成类概率预测。输入样本逐批处理。

您只需要加载几个图像并将它们粘合到一个 numpy 数组中。通过扩展 0 维度,您的代码已经使用了一批 1 in test_image。完成图片还有一个Model.predict_on_batch()方法。

要加载一批测试图像,您可以使用image.list_picturesImageDataGenerator.flow_from_directory()(与方法兼容,请参阅文档Model.predict_generator()中的示例)。

于 2018-04-19T06:34:24.480 回答