0

我是图像分类的新手,如果这个问题看起来太天真,我很抱歉。我正在为我最近的工作使用 tf 迁移学习模型。参考:https ://www.tensorflow.org/tutorials/images/transfer_learning 。

这里清楚地提到了如何使用这个模型来预测图像的批量预测。但是我很难弄清楚如何使用它对单个图像进行预测。

我试过这个:

np_image = Image.open(image_path)
np_image = np.array(np_image).astype('float32')/255
np_image = transform.resize(np_image, (800, 700, 3))
np_image = np.expand_dims(np_image, axis=0)
probability_model = tf.keras.Sequential([model, tf.keras.layers.Softmax()])
predictions = probability_model.predict_proba(np_image)

但这对所有图像都给出了 1 作为结果。我想要使​​用此模型在图像级别进行概率预测。

4

1 回答 1

0

有解决这个问题的办法。

from keras.preprocessing.image import load_img
from keras.preprocessing.image import img_to_array
image = load_img(image_path, target_size=(800, 700))


image = img_to_array(image)
image = image.reshape((1, image.shape[0], image.shape[1], image.shape[2]))
predictions = tf.nn.sigmoid(new_model.predict(image))
predictions=np.array(predictions)[0][0]
于 2020-10-04T08:50:52.510 回答