Tensorflow模型实现预测或识别单张图片


Posted in Python onJuly 19, 2019

利用Tensorflow训练好的模型,图片进行预测和识别,并输出相应的标签和预测概率。

如果想要多张图片,可以进行批次加载和预测,这里仅用单张图片进行演示。

模型文件:

Tensorflow模型实现预测或识别单张图片

预测图片:

Tensorflow模型实现预测或识别单张图片

这里直接贴代码,都有注释,应该很好理解

import tensorflow as tf
import inference
 
image_size = 128 # 输入层图片大小
 
# 模型保存的路径和文件名
MODEL_SAVE_PATH = "model/"
MODEL_NAME = "model.ckpt"
 
# 加载需要预测的图片
image_data = tf.gfile.FastGFile("./data/test/d.png", 'rb').read()
 
# 将图片格式转换成我们所需要的矩阵格式,第二个参数为1,代表1维
decode_image = tf.image.decode_png(image_data, 1)
 
# 再把数据格式转换成能运算的float32
decode_image = tf.image.convert_image_dtype(decode_image, tf.float32)
 
# 转换成指定的输入格式形状
image = tf.reshape(decode_image, [-1, image_size, image_size, 1])
 
# 定义预测结果为logit值最大的分类,这里是前向传播算法,也就是卷积层、池化层、全连接层那部分
test_logit = inference.inference(image, train=False, regularizer=None)
 
# 利用softmax来获取概率
probabilities = tf.nn.softmax(test_logit)
 
# 获取最大概率的标签位置
correct_prediction = tf.argmax(test_logit, 1)
 
# 定义Savar类
saver = tf.train.Saver()
 
with tf.Session() as sess:
  sess.run((tf.global_variables_initializer(), tf.local_variables_initializer()))
 
  # 加载检查点状态,这里会获取最新训练好的模型
  ckpt = tf.train.get_checkpoint_state(MODEL_SAVE_PATH)
  if ckpt and ckpt.model_checkpoint_path:
    # 加载模型和训练好的参数
    saver.restore(sess, ckpt.model_checkpoint_path)
    print("加载模型成功:" + ckpt.model_checkpoint_path)
 
    # 通过文件名得到模型保存时迭代的轮数.格式:model.ckpt-6000.data-00000-of-00001
    global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
 
    # 获取预测结果
    probabilities, label = sess.run([probabilities, correct_prediction])
 
    # 获取此标签的概率
    probability = probabilities[0][label]
 
    print("After %s training step(s),validation label = %d, has %g probability" % (global_step, label, probability))
  else:
    print("模型加载失败!" + ckpt.model_checkpoint_path)

运行输出结果:

Tensorflow模型实现预测或识别单张图片

(标签为3,概率为0.984478)

标签字典:

Tensorflow模型实现预测或识别单张图片

3对应小写d,识别正确。

其他的图片的预测结果:

预测图片1:

Tensorflow模型实现预测或识别单张图片

Tensorflow模型实现预测或识别单张图片

标签字典:

Tensorflow模型实现预测或识别单张图片

图片1,识别结果为1,可能概率0.993034

识别结果还是挺好看的,不知道是不是过拟合了,还是迭代次数不够多,还需要调整调整。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作xml文件示例
Apr 07 Python
Django实现的自定义访问日志模块示例
Jun 23 Python
对numpy中轴与维度的理解
Apr 18 Python
python字符串常用方法
Jun 14 Python
python http基本验证方法
Dec 26 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
python+mysql实现个人论文管理系统
Oct 25 Python
Python列表如何更新值
May 27 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
python django下载大的csv文件实现方法分析
Jul 19 #Python
python使用flask与js进行前后台交互的例子
Jul 19 #Python
Django 模型类(models.py)的定义详解
Jul 19 #Python
Tensorflow实现神经网络拟合线性回归
Jul 19 #Python
使用TensorFlow实现简单线性回归模型
Jul 19 #Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 #Python
简单了解django缓存方式及配置
Jul 19 #Python
You might like
MVC模式的PHP实现
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
php实现的xml操作类
2016/01/15 PHP
jquery indexOf使用方法
2013/08/19 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
Python 的类、继承和多态详解
2017/07/16 Python
Python实现图片识别加翻译功能
2019/12/26 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
廉洁自律承诺书
2014/03/27 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
2014年督导工作总结
2014/11/19 职场文书
听证通知书
2015/04/24 职场文书
硕士学位申请报告
2015/05/15 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS