from keras.preprocessing import image
from keras.applications.imagenet_utils import preprocess_input, decode_predictions
from keras.applications.vgg16 import VGG16
from keras.models import load_model
from keras.models import Sequential
import numpy as np
import time
# 加载VGG模型 keras.applications.vgg16,weights为imagenet表示使用imagenet预训练的模型,classes表示1000种分类
model = VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
# 读取图片
img = image.load_img('elephant.jpg', target_size=(224, 224))
x = image.img_to_array(img) # 三维(224,224,3)
x = np.expand_dims(x, axis=0) # 四维(1,224,224,3)
x = preprocess_input(x) # 预处理
y_pred = model.predict(x) # 预测概率
print("测试图:", decode_predictions(y_pred)) # 输出五个最高概率(类名, 语义概念, 预测概率)
[深度学习] 利用Keras中训练好的VGG模型预测图片种类
最新推荐文章于 2023-07-18 08:53:18 发布