TensorFlow实现checkpoint文件转换为pb文件


Posted in Python onFebruary 10, 2020

由于项目需要,需要将TensorFlow保存的模型从ckpt文件转换为pb文件。

import os
from tensorflow.python import pywrap_tensorflow
from net2use import inception_resnet_v2_small#这里使用自己定义的模型函数即可
import tensorflow as tf
if __name__=='__main__':
  pb_file = "./model/output.pb"
  ckpt_file = "./model/model.ckpt-652900"
  '''
这里的节点名字可能跟设想的有出入,最直接的方法是直接输出ckpt中保存的节点名字,然后对应着找节点名字,具体的进入convert_variables_to_constants函数的实现中graph_util_impl.py,130行的函数:_assert_nodes_are_present 添加代码
  print('在图中的节点是:')
  for din in name_to_node:
    print('{},在图中'.format(din))
然后运行代码,若正确就会直接保存;若失败则会保存失败,找好输出节点的名字,在output_node_names 中添加就好
'''
  output_node_names = ["embedding"]

  with tf.name_scope('input'):
    image = tf.placeholder(tf.float32,shape=(None,79,199,1),name='input_image')


  net, endpoints=inception_resnet_v2_small(image, is_training=False)
  embedding = tf.nn.l2_normalize(net,1,1e-10,name='embedding')

  config=tf.ConfigProto(allow_soft_placement=True)
  config.gpu_options.per_process_gpu_memory_fraction = 0.45
  sess = tf.Session(config = config)
  saver = tf.train.Saver()
  saver.restore(sess, ckpt_file)
  print('read success')
  converted_graph_def = tf.graph_util.convert_variables_to_constants(sess,
                input_graph_def = sess.graph.as_graph_def(),
                output_node_names = output_node_names)

  with tf.gfile.GFile(pb_file, "wb") as f:
    f.write(converted_graph_def.SerializeToString())

  print('保存成功')

以上这篇TensorFlow实现checkpoint文件转换为pb文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的rfind()方法使用详解
May 19 Python
Python多线程扫描端口代码示例
Feb 09 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
python3+requests接口自动化session操作方法
Oct 13 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
python获取服务器响应cookie的实例
Dec 28 Python
python+logging+yaml实现日志分割
Jul 22 Python
Python使用正则实现计算字符串算式
Dec 29 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
Django关于admin的使用技巧和知识点
Feb 10 #Python
Python实现括号匹配方法详解
Feb 10 #Python
Python re正则表达式元字符分组()用法分享
Feb 10 #Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 #Python
Python获取、格式化当前时间日期的方法
Feb 10 #Python
Python3操作MongoDB增册改查等方法详解
Feb 10 #Python
Python实现结构体代码实例
Feb 10 #Python
You might like
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
php xml 入门学习资料
2011/01/01 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
bootstrap table实例详解
2017/01/06 Javascript
js转换对象为xml
2017/02/17 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
简单谈谈python中的多进程
2016/11/06 Python
Python+Wordpress制作小说站
2017/04/14 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
如何在Python对Excel进行读取
2020/06/04 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
数据库连接池的工作原理
2012/09/26 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
英语教学随笔感言
2014/02/20 职场文书
化工工艺设计求职信
2014/06/25 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript