猫狗训练单张图片的测试
猫狗训练的训练模型的建立,模型在整个预测集上的预测效果的测试的程序代码网上或一些书籍上都可查阅,但是对单张或某些图片的分类测试程序不多,这里通过参考博客:https://blog.csdn.net/baidu_35113561/article/details/79371716 ,自己总结如下。
环境:Python+keras, 后端:tensorflow
训练集:在 https://www.kaggle.com/c/dogs-vs-cats/data 上即可完成下载,总共猫狗各有12500张图片(由于条件有限,我取猫狗各1000张进行训练,并已在验证集上精度验证达到82%)。
测试程序如下:
import cv2
import numpy as np
from keras.models import load_model
from keras.preprocessing.image import ImageDataGeneratortest_dir="D:/研究生/lx/cats-vs-dogs-datasets/000/" # 加载图片目录model=load_model('cats_and_dogs_small_1.h5') # 加载模型参数for i in range(10):print(str(i)+'.jpg')img=cv2.imread(str(i)+'.jpg')print(img.shape)img=cv2.resize(img,(150,150))print(img.shape) # 读取图片并将大小统一至模型输入要求
# cv2.imshow("img",img)
# cv2.waitKey()img0 = (img.reshape(1,150,150,3).astype("float32"))/255 # 归一化predict = model.predict_classes(img0)if predict == 0:print('识别为:猫')image1=cv2.putText(img,'cat',(20,20),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,0,255),1,cv2.LINE_AA)cv2.imshow('result',image1)cv2.waitKey(10000)else:image2=cv2.putText(img, 'dog', (20, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 1, cv2.LINE_AA)print('识别为:狗')cv2.imshow('result',image2)cv2.waitKey(10000)
运行结果如图
我承认有些猫狗可能萌到你了,但是还是要看一下分类结果。可以看到,10个图片中七张得到了正常分类,预测正确率为70%。虽然与模型在训练过程中的验证精度还有些差距,但是考虑到测试集样本量较小,故也可以理解。
说明:
- 测试时的图片大小需要统一为模型建立时训练集的大小,否则会因为输入图片不符合模型要求出错。由于我的模型构建时样本大小统一为150*150,故在测试时图片大小也做了相应调整。
- 需要将像素值(0-255范围内)缩放到[0,1]区间,因为神经网络善于处理较小的输入值。
猫狗训练单张图片的测试相关推荐
- DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型)
DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 目录 利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 设计思路 处 ...
- DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型)
DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 目录 基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 设计思路 输出结果 1488/1 ...
- 2019.5.14猫狗训练集
一.在小型数据集上从头开始训练一个卷积神经网络 1.下载数据 将图像复制到训练.验证和测试的目录 original_dataset_dir = '/Users/fchollet/Downloads/k ...
- CNN之从头训练一个猫狗图片分类模型
猫狗图片下载地址: 链接:https://pan.baidu.com/s/1l1AnBgkAAEhh0vI5_loWKw 提取码:2xq4 说明:大概有816M大小,分为train和test,trai ...
- Keras深度学习使用VGG16预训练神经网络实现猫狗分类
Keras深度学习使用VGG16预训练神经网络实现猫狗分类 最近刚刚接触深度学习不久,而Keras呢,是在众多的深度学习框架中,最适合上手的,而猫狗的图像分类呢,也算是计算机视觉中的一个经典案例,下面 ...
- 学习笔记:cnn 猫狗识别
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.数据获取 本次学习的数据为,kaggle 中的 Dogs vs Cats 数据集 如果不清楚,kaggle,可以看一下,我前面写的这篇文章:h ...
- Pytorch+CNN+猫狗分类实战
文章目录 0.前言 1.猫狗分类数据集 1.1数据集下载(可选部分) 1.2数据集分析 2.猫狗分类数据集预处理 2.1训练集和测试集划分 2.2训练集和测试集读取 3.剩余代码 4.总结 0.前言 ...
- 基于卷积神经网络 CNN 的猫狗识别详细过程
目录 一.卷积神经网络(CNN) 1.1 卷积 1.2 前馈神经网络 1.3 卷积神经网络(CNN) 二.配置环境 三.猫狗数据分类建模 3.1 猫狗图像预处理 3.2 猫狗分类的实例--基准模型 3 ...
- 【深度学习】猫狗识别TensorFlow2实验报告
实验二:猫狗识别 一.实验目的 利用深度学习实现猫狗动物识别,采用Kaggle提供的公开数据集,训练深度学习模型,对测试集猫狗中的图片准确分类.通过该实验掌握深度学习中基本的CV处理过程. 二.实验原 ...
最新文章
- 无法绑定到“ ngModel”,因为它不是“ input”的已知属性
- scipy是python下的什么_python – cholesky在numpy和scipy之间有什么区别?
- 干货!隐马尔科夫模型
- oracle xml中cdata,XML CDATA的作用
- Pytorch中RNN输出的h_n和output是什么
- paip.c++ qt 外部dll共享库的导入以及引用
- 在MySQL中导出sql脚本文件与导入sql脚本文件
- python怎么把小写改成大写_Python 把金额小写转换成大写
- 百度信息流 绑定服务器,【实例】百度信息流账户搭建步骤
- 基于ThinkPhp6+Vue+AntDesign前后端分离极速开发平台
- linux tc工具,Linux TC软件系统损坏自助恢复的工具.TC刷机,TC修复,TCPUP,TCP-UP
- 注册码系统V2的自动发卡功能使用流程
- stream流的使用
- vs运行localhos转换为本地ip地址访问
- 三国杀 官方 游戏规则
- Android实现简单的网页跳转
- 用于长延迟多径衰落环境下的强化UF-OFDM
- Catherine 成长记第一篇
- Android Studio 编译错误小计
- 【凯子哥带你夯实应用层】都说“知乎”逼格高,我们来实现“知乎”回答详情页动画效果