[深度学习] 利用Keras中训练好的VGG模型预测图片种类

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模型预测图片种类_第1张图片

你可能感兴趣的:(Deep,Learning,Tensorflow)