微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用张量流转移学习模型预测单个图像文件

如何解决使用张量流转移学习模型预测单个图像文件

我是图像分类的新手,很抱歉,如果这个问题看起来太幼稚。我正在为最近的工作使用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。我希望使用此模型在图像级别进行概率预测。

解决方法

为此问题找到了解决方案。

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]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。