在keras中对单一输入图像进行预测并返回预测结果操作


Posted in Python onJuly 09, 2020

模型经过训练测试之后,我们往往用一两张图对模型预测结果进行分析讨论,那么下面介绍在keras中用已训练的模型经过测试的方法。

下面是以利用预训练的ResNet来展示预测的效果,选了一张狗的图片,是来自一个kaggle比赛的。

预测结果第一个是一种苏格兰品种的狗,我也不知道准不准 == 。

在keras中对单一输入图像进行预测并返回预测结果操作

import numpy as np
from keras.applications.imagenet_utils import decode_predictions
from keras.preprocessing import image
from keras.applications import *
 
import os
 
# 忽略硬件加速的警告信息
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
 
file_path = 'images/0a70f64352edfef4c82c22015f0e3a20.jpg'
 
img = image.load_img(file_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
 
model = ResNet50(weights='imagenet')
y = model.predict(x)
# print(np.argmax(y))
print('Predicted:', decode_predictions(y, top=3)[0])

讲几点:

1.输入img转成numpy数组,shape处理成(224,224,3)一般来讲,对于预训练模型是有一个最小的尺寸值,比最小尺寸大就可以了。在ResNet中,尺寸最小大于等于197即可。

2.要对输入shape扩维变成(None,224,224,3),第一个None是batches,模型并不知道你输入的batches是多少,但是维度必须和ResNet的输入要一致。

3.虽然用的是ResNet,自己设计的模型也一个道理,保留一下训练的权重,把model模块和预测模块分开写,这个时候load一下权重,再预测即可。

补充知识:keras:怎样使用 fit_generator 来训练多个不同类型的输出

这个例子非常简单明了,模型由1个输入,2个输出,两个输出的分支分别使用MSE作为损失。

x = Convolution2D(8, 5, 5, subsample=(1, 1))(image_input)
x = Activation('relu')(x)
x = Flatten()(x)
x = Dense(50, W_regularizer=l2(0.0001))(x)
x = Activation('relu')(x)

output1 = Dense(1, activation='linear', name='output1')(x)
output2 = Dense(1, activation='linear', name='output2')(x)

model = Model(input=image_input, output=[output1, output2])
model.compile(optimizer='adam', loss={'output1': 'mean_squared_error', 'output2': 'mean_squared_error'})

产生训练数据的生成器,这里y=[y1,y2].

batch_generator(x, y, batch_size):
  ....transform images
  ....generate batch batch of size: batch_size 
  yield(X_batch, {'output1': y1, 'output2': y2} ))

之后,调用fit_generator

model.fit_generator(batch_generator(X_train, y_train, batch_size))

原问题链接。

以上这篇在keras中对单一输入图像进行预测并返回预测结果操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用模块的教程
Apr 27 Python
Python脚本实现自动发带图的微博
Apr 27 Python
python机器学习实战之K均值聚类
Dec 20 Python
django如何通过类视图使用装饰器
Jul 24 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
Django框架models使用group by详解
Mar 11 Python
Python中return函数返回值实例用法
Nov 19 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 Python
python求解汉诺塔游戏
Jul 09 #Python
Django中Aggregation聚合的基本使用方法
Jul 09 #Python
Python  word实现读取及导出代码解析
Jul 09 #Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 #Python
实例讲解Python 迭代器与生成器
Jul 08 #Python
opencv 阈值分割的具体使用
Jul 08 #Python
如何表示python中的相对路径
Jul 08 #Python
You might like
测试您的 PHP 水平的题目
2007/05/30 PHP
php简单的会话类代码
2011/08/08 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP生成网站桌面快捷方式代码分享
2014/10/11 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
JS库之ParticlesJS使用简介
2017/09/12 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Python脚本完成post接口测试的实例
2018/12/17 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
《跨越百年的美丽》教学反思
2014/02/11 职场文书
陈欧广告词
2014/03/14 职场文书
婚前协议书怎么写
2014/04/15 职场文书
社区春季防火方案
2014/06/02 职场文书
军训个人总结
2015/03/03 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书