下面是关于“使用Keras内置的模型进行图片预测实例”的完整攻略。
使用Keras内置的模型进行图片预测
在Keras中,我们可以使用内置的模型进行图片预测。下面是一个示例说明。
示例1:使用VGG16模型进行图片预测
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions
from keras.preprocessing import image
import numpy as np
# 加载模型
model = VGG16(weights='imagenet')
# 加载图像
img_path = 'test.jpg'
img = image.load_img(img_path, target_size=(224, 224))
# 转换图像为数组
x = image.img_to_array(img)
# 扩展数组的维度
x = np.expand_dims(x, axis=0)
# 预处理图像
x = preprocess_input(x)
# 预测图像
preds = model.predict(x)
# 解码预测结果
results = decode_predictions(preds, top=3)[0]
# 打印预测结果
for result in results:
print(result[1], result[2])
在这个示例中,我们首先使用VGG16()函数加载模型。我们使用image.load_img()函数加载图像。我们使用image.img_to_array()函数将图像转换为数组。我们使用np.expand_dims()函数扩展数组的维度。我们使用preprocess_input()函数预处理图像。我们使用model.predict()函数预测图像。我们使用decode_predictions()函数解码预测结果。我们打印预测结果。
示例2:使用ResNet50模型进行图片预测
from keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions
from keras.preprocessing import image
import numpy as np
# 加载模型
model = ResNet50(weights='imagenet')
# 加载图像
img_path = 'test.jpg'
img = image.load_img(img_path, target_size=(224, 224))
# 转换图像为数组
x = image.img_to_array(img)
# 扩展数组的维度
x = np.expand_dims(x, axis=0)
# 预处理图像
x = preprocess_input(x)
# 预测图像
preds = model.predict(x)
# 解码预测结果
results = decode_predictions(preds, top=3)[0]
# 打印预测结果
for result in results:
print(result[1], result[2])
在这个示例中,我们首先使用ResNet50()函数加载模型。我们使用image.load_img()函数加载图像。我们使用image.img_to_array()函数将图像转换为数组。我们使用np.expand_dims()函数扩展数组的维度。我们使用preprocess_input()函数预处理图像。我们使用model.predict()函数预测图像。我们使用decode_predictions()函数解码预测结果。我们打印预测结果。
总结
在Keras中,我们可以使用内置的模型进行图片预测。我们可以使用VGG16()函数加载VGG16模型。我们可以使用ResNet50()函数加载ResNet50模型。我们可以使用image.load_img()函数加载图像。我们可以使用image.img_to_array()函数将图像转换为数组。我们可以使用np.expand_dims()函数扩展数组的维度。我们可以使用preprocess_input()函数预处理图像。我们可以使用model.predict()函数预测图像。我们可以使用decode_predictions()函数解码预测结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用keras内置的模型进行图片预测实例 - Python技术站