【AI】Keras使用VGG16模型預測自己的圖片
阿新 • • 發佈:2018-11-25
Keras使用VGG16模型預測自己的圖片
環境
Win10
Miniconda3
Pycharm2018.02
程式碼如下
from keras.applications.vgg16 import VGG16 from keras.preprocessing.image import load_img from keras.preprocessing.image import img_to_array from keras.applications.vgg16 import preprocess_input from keras.applications.vgg16 import decode_predictions import keras import tensorflow as tf # 模型手動下載然後放到目錄C:\Users\使用者名稱\.keras\models下,下載地址如下: # https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels.h5 # https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5 # 載入模型並列印 model = VGG16() print(model.summary()) # 載入一副測試圖片 image = load_img("dog.jpg", target_size=(224, 224)) # 轉為陣列 image = img_to_array(image) # 重塑成4D image = image.reshape((1, image.shape[0], image.shape[1], image.shape[2])) # 預處理圖片 image = preprocess_input(image) # 預測 predict_result = model.predict(image) # 解析預測結果 label = decode_predictions(predict_result) # 打印出三個概率最大的分類 for idx in range(0, 3): print("類別:%s 概率:%0.4f"%(label[0][idx][1], label[0][idx][2])) # 清理 keras.backend.clear_session() tf.reset_default_graph()