将tensorflow模型打包成PB文件及PB文件读取方式


Posted in Python onJanuary 23, 2020

1. tensorflow模型文件打包成PB文件

import tensorflow as tf
from tensorflow.python.tools import freeze_graph
 
with tf.Graph().as_default():
  with tf.device("/cpu:0"):
    config = tf.ConfigProto(allow_soft_placement=True)
    with tf.Session(config=config).as_default() as sess:
      model = Your_Model_Name()
      model.build_graph()
      sess.run(tf.initialize_all_variables())
      
      saver = tf.train.Saver()
      ckpt_path = "/your/model/path"
      saver.restore(sess, ckpt_path)
 
      graphdef = tf.get_default_graph().as_graph_def()
      tf.train.write_graph(sess.graph_def,"/your/save/path/","save_name.pb",as_text=False)
      frozen_graph = tf.graph_util.convert_variables_to_constants(sess,graphdef,['output/node/name'])
      frozen_graph_trim = tf.graph_util.remove_training_nodes(frozen_graph)
      freeze_graph.freeze_graph('/your/save/path/save_name.pb','',True, ckpt_path,'output/node/name','save/restore_all','save/Const:0','frozen_name.pb',True,"")

2. PB文件读取使用

output_graph_def = tf.GraphDef()
with open("your_name.pb","rb") as f:
  output_graph_def.ParseFromString(f.read())
  _ = tf.import_graph_def(output_graph_def, name="")
 
node_in = sess.graph.get_tensor_by_name("input_node_name")
model_out = sess.graph.get_tensor_by_name("out_node_name")
 
feed_dict = {node_in:in_data}
pred = sess.run(model_out, feed_dict)

以上这篇将tensorflow模型打包成PB文件及PB文件读取方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 错误和异常小结
Oct 09 Python
python数据结构之二叉树的统计与转换实例
Apr 29 Python
django 创建过滤器的实例详解
Aug 14 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 #Python
tensorflow 实现打印pb模型的所有节点
Jan 23 #Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 #Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 #Python
如何定义TensorFlow输入节点
Jan 23 #Python
django 文件上传功能的相关实例代码(简单易懂)
Jan 22 #Python
python动态文本进度条的实例代码
Jan 22 #Python
You might like
PHP Web木马扫描器代码分享
2015/09/06 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
php 数据结构之链表队列
2017/10/17 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python中树与树的表示知识点总结
2019/09/14 Python
浅析python redis的连接及相关操作
2019/11/07 Python
性能测试工程师的面试题
2015/02/20 面试题
在校学生职业规划范文
2014/01/08 职场文书
导游实习生自荐书
2014/01/28 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android