利用keras載入訓練好的.H5檔案,並預測圖片
阿新 • • 發佈:2018-12-14
import matplotlib matplotlib.use('Agg') import os from keras.models import load_model import numpy as np from PIL import Image import cv2 #載入模型h5檔案 model = load_model("C:\\python\\python3_projects\\cat_dog\\cats_dogs_fifty_thousand.h5") model.summary() #規範化圖片大小和畫素值 def get_inputs(src=[]): pre_x = [] for s in src: input = cv2.imread(s) input = cv2.resize(input, (150, 150)) input = cv2.cvtColor(input, cv2.COLOR_BGR2RGB) pre_x.append(input) # input一張圖片 pre_x = np.array(pre_x) / 255.0 return pre_x #要預測的圖片儲存在這裡 predict_dir = 'C:\python\python3_projects\cat_dog\pics' #這個路徑下有兩個檔案,分別是cat和dog test = os.listdir(predict_dir) #列印後:['cat', 'dog'] print(test) #新建一個列表儲存預測圖片的地址 images = [] #獲取每張圖片的地址,並儲存在列表images中 for testpath in test: for fn in os.listdir(os.path.join(predict_dir, testpath)): if fn.endswith('jpg'): fd = os.path.join(predict_dir, testpath, fn) print(fd) images.append(fd) #呼叫函式,規範化圖片 pre_x = get_inputs(images) #預測 pre_y = model.predict(pre_x) print(pre_y)