将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基础入门学习笔记(Python环境搭建)
Jan 13 Python
python发送邮件脚本
May 22 Python
Python使用gRPC传输协议教程
Oct 16 Python
python钉钉机器人运维脚本监控实例
Feb 20 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
Python post请求实现代码实例
Feb 28 Python
Python正则表达式学习小例子
Mar 03 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python如何删除列为空的行
Jul 17 Python
django上传文件的三种方式
Apr 29 Python
Python基础之hashlib模块详解
May 06 Python
一起来学习Python的元组和列表
Mar 13 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
javascript call和apply方法
2008/11/24 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python模块WSGI使用详解
2018/02/02 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
同学聚会欢迎辞
2014/01/14 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
安全演讲稿大全
2014/05/09 职场文书
白岩松演讲
2014/05/21 职场文书
销售工作决心书
2015/02/04 职场文书
孟佩杰观后感
2015/06/17 职场文书