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环境配置及项目建立
Jun 30 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
详解python编译器和解释器的区别
Jun 24 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python交易记录整合交易类详解
Jul 03 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
Django多数据库的实现过程详解
Aug 01 Python
pycharm 设置项目的根目录教程
Feb 12 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 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 字符串分割和比较
2009/10/06 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
PHP反射学习入门示例
2019/06/14 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
Jquery把获取到的input值转换成json
2017/05/15 jQuery
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
Python安装OpenCV的示例代码
2020/03/05 Python
物理系毕业生自荐书
2014/06/13 职场文书
先进员工获奖感言
2014/08/14 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2015年试用期工作总结
2014/12/12 职场文书
2014年政工师工作总结
2014/12/18 职场文书
年度考核个人总结
2015/03/06 职场文书
学习雷锋主题班会
2015/08/14 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript