如何在新图像上使用.predict_generator()-Keras

如何在新图像上使用.predict_generator()-Keras,第1张

如何在新图像上使用.predict_generator()-Keras

因此,首先应将测试图像放置在测试文件夹内的单独文件夹中。因此,在我的情况下,我在folder中创建了另一个文件

test
夹并将其命名
all_classes
。然后运行以下代码

test_generator = test_datagen.flow_from_directory(    directory=pred_dir,    target_size=(28, 28),    color_mode="rgb",    batch_size=32,    class_mode=None,    shuffle=False)

上面的代码给了我一个输出

找到属于1类的306张图像

最重要的是,您必须编写以下代码:

test_generator.reset()

否则会有奇怪的输出。然后使用

.predict_generator()
函数:

pred=cnn.predict_generator(test_generator,verbose=1,steps=306/batch_size)

运行上面的代码将给出概率输出,因此首先我需要将它们转换为类编号。在我的情况下,这是4个班级,所以班级编号是0、1、2和3。

编写的代码:

predicted_class_indices=np.argmax(pred,axis=1)

下一步是我想要类的名称:

labels = (train_generator.class_indices)labels = dict((v,k) for k,v in labels.items())predictions = [labels[k] for k in predicted_class_indices]

类别编号将替换为类别名称。最后一步,如果要将其保存到csv文件中,请将其布置在数据帧中,图像名称后附有预测的类。

filenames=test_generator.filenamesresults=pd.Dataframe({"Filename":filenames,"Predictions":predictions})

显示您的数据框。现在一切都完成了。您将获得图像的所有预测类别。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存