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中的并发编程实例
Jul 07 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python中正则表达式 re.findall 用法
Oct 23 Python
Python列表元素常见操作简单示例
Oct 25 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
tensorflow 环境变量设置方式
Feb 06 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
Python3接口性能测试实例代码
Jun 20 Python
python 多态 协议 鸭子类型详解
Nov 27 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 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
动态加载iframe
2006/06/16 Javascript
IE 下的只读 innerHTML
2009/08/21 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
详解webpack分离css单独打包
2017/06/21 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python验证码识别处理实例
2015/12/28 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
聚美优品广告词改编
2014/03/14 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
片区教研活动总结
2014/07/02 职场文书
护士找工作求职信
2014/07/02 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python