Keras猫狗大战二:加载模型预测单张图片

版权声明:本文为博主原创文章,欢迎转载,并请注明出处。联系方式:460356155@qq.com

 加载https://www.cnblogs.com/zhengbiqing/p/11068529.html训练得到的74%精度的模型,预测图片。

import os
import random
import numpy as np

from keras.preprocessing import image
from keras.models import load_model

model = load_model(r"D:projectscats_and_dogs_small_1.h5")
all_num = 12500
num = 100

# 从0~12499随机生成随机数列表
result = random.sample(range(0, all_num), num)

predict_class = 'dog'
class_indices = {'cat': 0, 'dog': 1}

hit_num = 0
hit_val = class_indices.get(predict_class)

for i in range(num):
    file_path = r'D:BaiduNetdiskDownload	rain\%s.%s.jpg' % (predict_class, result[i])

    img = image.load_img(file_path, target_size=(150, 150))
    x = image.img_to_array(img)
    x = np.expand_dims(x, axis=0)
    y = model.predict_classes(x)

    if int(y[0][0]) == hit_val:
        hit_num += 1

print('Predict %s images %s, Acc: %.3f%%' % (predict_class, num, hit_num/num))
Predict dog images 100, Acc: 0.830%
Predict cat images 1000, Acc: 0.661%

预测全部12500张图:
Predict dog images 12500, Acc: 0.832%
Predict cat images 12500, Acc: 0.690%
看来cat比dog更难预测。
原文地址:https://www.cnblogs.com/zhengbiqing/p/11069339.html