猫狗识别

猫狗识别--模型测试

  • 前言
  • 导入相关包
  • 加载测试模型
  • 加载测试样本并进行预处理
  • 模型预测并计算准确率
  • 可视化预测结果
  • 总结


前言

模型初步搭建成功并训练保存,在训练集上的预测准确率挺高的,但是需要其他不在训练集中的样本来检测才能更好地评估模型。


导入相关包

from keras.models import load_model
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import load_img,img_to_array
from matplotlib import pyplot as plt

加载测试模型

model_cnn = load_model('model_cnn.h5')

加载测试样本并进行预处理

est_datagen = ImageDataGenerator(rescale=1. / 255)
test_set = test_datagen.flow_from_directory('./test_set', target_size=(50,50), batch_size=32, class_mode='binary')

模型预测并计算准确率

test_set_predict = model_cnn.predict_classes(test_set)
accuacry = model_cnn.evaluate_generator(test_set)
# print(accuacry)

可视化预测结果

从本地加载九张图片来进行预测

fig = plt.figure(figsize=(8, 8))
for i in range(1,10):
    image_name = 'result/' + str(i) + '.png'
    img_original = load_img(image_name, target_size=(50, 50))
    img = img_to_array(img_original) / 255
    img = img.reshape(-1, 50, 50, 3)
    result = model_cnn.predict_classes(img)
    plt.subplot(3, 3, i)
    plt.imshow(img_original)
    plt.title('dog' if result == 1 else 'cat')
    pass
plt.show()

总结

由最终的准确率计算可知,模型的表现并不是很好,下面将采用经典的VGG16模型来进行优化处理。

你可能感兴趣的:(深度学习,深度学习)