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连接mssql数据库编码问题解决方法
Jan 01 Python
Python运算符重载用法实例分析
Jun 01 Python
Python数据结构与算法之字典树实现方法示例
Dec 13 Python
快速了解Python中的装饰器
Jan 11 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
python实现随机漫步算法
Aug 27 Python
Django CSRF认证的几种解决方案
Mar 03 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
python中对列表的删除和添加方法详解
Feb 24 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
php Session存储到Redis的方法
2013/11/04 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
Python实现带百分比的进度条
2016/06/28 Python
使用Python读取大文件的方法
2018/02/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python之拟合的实现
2019/07/19 Python
Python绘图实现显示中文
2019/12/04 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python连接Impala实现步骤解析
2020/08/04 Python
python如何对链表操作
2020/10/10 Python
关于旷工的检讨书
2014/02/02 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
科学发展观活动总结
2014/08/28 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python