猫狗识别


前言

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


导入相关包

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模型来进行优化处理。

版权声明:本文为CSDN博主「易小顺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/MTYSYS19990212/article/details/114899747

易小顺

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Meta-DETR | 图像级“元”学习提升目标检测精度

计算机视觉研究院专栏作者:Edison_GOne-shot目标检测旨在通过几个标注的样本来检测新的目标。之前的工作已经证明了元学习是一个很有前途的解决方案,它们中的大多数基本上是通过解决在区域上的元学习检测来进行分类

AP AR mAP ROC AUC(目标检测)

禁止转载!在做目标检测任务的时候,通常会制定规则来评估性能,就如下图所示,后面会慢慢道来其中的原理。 混淆矩阵中 TP、TN、FP、FN
在目标检测中,通常以IoU阈值作为

瑕疵检测(深度学习)

与通用目标检测的区别
相较与整张图片瑕疵区域的占比一般非常小,Faster R-CNN等检测模型对小物体检测不够好
深度学习从低层到高层不断去提炼高层语义信息,层数的增大细节的信息丢失得越多,对于缺