我有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。
先谢谢您
答案 0 :(得分:0)
model.predict
应该返回类的概率。由于您将获得[1] or [0]
,这可能是与培训部分相关的其他问题。
参考此Returning Probabilities in Keras,您的实际问题可能是数据的规范化。否则predict
应该给出概率输出。不是确切的类别。