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 numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
Python3中exp()函数用法分析
Feb 19 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Python实现我的世界小游戏源代码
Mar 02 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 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
多人战的战术与战略
2020/03/04 星际争霸
php知道与问问的采集插件代码
2010/10/12 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
快速了解python leveldb
2018/01/18 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
Python地图绘制实操详解
2019/03/04 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
基于python图像处理API的使用示例
2020/04/03 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
幼儿园教师请假制度
2014/01/16 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript