tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例


Posted in Python onJanuary 21, 2020

ckpt

from tensorflow.python import pywrap_tensorflow 
checkpoint_path = 'model.ckpt-8000' 
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) 
var_to_shape_map = reader.get_variable_to_shape_map() 
for key in var_to_shape_map: 
 print("tensor_name: ", key)

pb

import tensorflow as tf
import os

model_name = './mobilenet_v2_140_inf_graph.pb'

def create_graph():
 with tf.gfile.FastGFile(model_name, 'rb') as f:
  graph_def = tf.GraphDef()
  graph_def.ParseFromString(f.read())
  tf.import_graph_def(graph_def, name='')

create_graph()
tensor_name_list = [tensor.name for tensor in tf.get_default_graph().as_graph_def().node]
for tensor_name in tensor_name_list:
 print(tensor_name,'\n')

ckpt转pb

def freeze_graph(input_checkpoint,output_graph):
 '''
 :param input_checkpoint:
 :param output_graph: PB模型保存路径
 :return:
 '''
 output_node_names = "xxx"
 saver = tf.train.import_meta_graph(input_checkpoint + '.meta', clear_devices=True)
 graph = tf.get_default_graph()
 input_graph_def = graph.as_graph_def()
 with tf.Session() as sess:
  saver.restore(sess, input_checkpoint)
  output_graph_def = graph_util.convert_variables_to_constants( 
   sess=sess,
   input_graph_def=input_graph_def,# 等于:sess.graph_def
   output_node_names=output_node_names.split(","))
  with tf.gfile.GFile(output_graph, "wb") as f:
   f.write(output_graph_def.SerializeToString()) 
  print("%d ops in the final graph." % len(output_graph_def.node)) 
 
  for op in graph.get_operations():
   print(op.name, op.values())

以上这篇tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python判断文件和文件夹是否存在的方法
May 21 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
python3实现mysql导出excel的方法
Jul 31 Python
python获取Pandas列名的几种方法
Aug 07 Python
Python编写带选项的命令行程序方法
Aug 13 Python
Python中关于浮点数的冷知识
Sep 22 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
tensorflow查看ckpt各节点名称实例
Jan 21 #Python
python同义词替换的实现(jieba分词)
Jan 21 #Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 #Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 #Python
tensorflow如何继续训练之前保存的模型实例
Jan 21 #Python
在tensorflow中设置保存checkpoint的最大数量实例
Jan 21 #Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 #Python
You might like
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python进阶-函数默认参数(详解)
2017/05/18 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
python 生成器需注意的小问题
2020/09/29 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
岗位职责定义及内容
2013/11/08 职场文书
法人授权委托书范本
2014/04/04 职场文书
政协会议宣传标语
2014/10/09 职场文书
2014年学生会工作总结
2014/11/07 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
Go语言grpc和protobuf
2022/04/13 Golang