如何在数组中制作model.predict?

时间:2019-09-26 07:04:51

标签: python python-3.x

我有2类狗和猫。我列出了这些类别的清单:

labels = ["cats", "dogs"]

我尝试使用

pred_name = labels[np.argmax(prob)]

给我看标签。但是我对model.predict(img)有问题。

它只显示1.而不是数组[0。 1。]。

import cv2
import numpy as np


img = cv2.imread('D:cat.jpg')
img = cv2.resize(img,(150,150))
img = np.reshape(img,[1,150,150,3])

labels=["cats", "dogs"]

classes = model.predict_classes(img)
print(classes)

prob=model.predict(img)
print("%.2f" % prob)

pred_name = labels[np.argmax(prob)]
print(pred_name)

我希望我的模型。预测显示给我一个数组([0. 1.]或[1. 0.]),而不是一个数字0或1,所以我可以将数组应用于argmax。

先谢谢您

1 个答案:

答案 0 :(得分:0)

model.predict应该返回类的概率。由于您将获得[1] or [0],这可能是与培训部分相关的其他问题。

参考此Returning Probabilities in Keras,您的实际问题可能是数据的规范化。否则predict应该给出概率输出。不是确切的类别。