tensorflow 实现打印pb模型的所有节点
只有pd模型文件, 打印所有节点
from tensorflow.python.framework import tensor_util
from google.protobuf import text_format
import tensorflow as tf
from tensorflow.python.platform import gfile
from tensorflow.python.framework import tensor_util
GRAPH_PB_PATH = 'models/frozen_person_graph.pb' #path to your .pb file
with tf.Session() as sess:
print("load graph")
with gfile.FastGFile(GRAPH_PB_PATH,'rb') as f:
graph_def = tf.GraphDef()
# Note: one of the following two lines work if required libraries are available
#text_format.Merge(f.read(), graph_def)
graph_def.ParseFromString(f.read())
tf.import_graph_def(graph_def, name='')
for i,n in enumerate(graph_def.node):
print("Name of the node - %s" % n.name)
以上这篇tensorflow 实现打印pb模型的所有节点就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
TensorFlow 模型载入方法汇总(小结)
一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 参数名称 功能说明 默认值 var_list Saver中存储变量集合 全局变量集合 reshape 加载时是否恢复变量形状 True sharded 是否将变量轮循放在所有设备上 True max_to_keep 保留最近检查点个数 5 restore_sequentially 是否按顺序恢复变量,模型较大时顺序恢复内存消耗小 True var_list是字典
-
从训练好的tensorflow模型中打印训练变量实例
从tensorflow 训练后保存的模型中打印训变量:使用tf.train.NewCheckpointReader() import tensorflow as tf reader = tf.train.NewCheckpointReader('path/alexnet/model-330000') dic = reader.get_variable_to_shape_map() print dic 打印变量 w = reader.get_tensor("fc1/W") print t
-
TensorFlow——Checkpoint为模型添加检查点的实例
1.检查点 保存模型并不限于在训练模型后,在训练模型之中也需要保存,因为TensorFlow训练模型时难免会出现中断的情况,我们自然希望能够将训练得到的参数保存下来,否则下次又要重新训练. 这种在训练中保存模型,习惯上称之为保存检查点. 2.添加保存点 通过添加检查点,可以生成载入检查点文件,并能够指定生成检查文件的个数,例如使用saver的另一个参数--max_to_keep=1,表明最多只保存一个检查点文件,在保存时使用如下的代码传入迭代次数. import tensorflow as tf
-
tensorflow查看ckpt各节点名称实例
运行下列脚本,可以打印出模型各个节点变量的名称: from tensorflow.python import pywrap_tensorflow import os checkpoint_path=os.path.join('model.ckpt-131805') reader=pywrap_tensorflow.NewCheckpointReader(checkpoint_path) var_to_shape_map=reader.get_variable_to_shape_map() for
-
tensorflow实现打印ckpt模型保存下的变量名称及变量值
有时候会需要通过从保存下来的ckpt文件来观察其保存下来的训练完成的变量值. ckpt文件名列表:(一般是三个文件) xxxxx.ckpt.data-00000-of-00001 xxxxx.ckpt.index xxxxx.ckpt.meta import os from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join("文件夹路径", "xxxxx.ckpt")
-
tensorflow 实现打印pb模型的所有节点
只有pd模型文件, 打印所有节点 from tensorflow.python.framework import tensor_util from google.protobuf import text_format import tensorflow as tf from tensorflow.python.platform import gfile from tensorflow.python.framework import tensor_util GRAPH_PB_PATH = 'mod
-
将keras的h5模型转换为tensorflow的pb模型操作
背景:目前keras框架使用简单,很容易上手,深得广大算法工程师的喜爱,但是当部署到客户端时,可能会出现各种各样的bug,甚至不支持使用keras,本文来解决的是将keras的h5模型转换为客户端常用的tensorflow的pb模型并使用tensorflow加载pb模型. h5_to_pb.py from keras.models import load_model import tensorflow as tf import os import os.path as osp from kera
-
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
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_
-
tensorflow的ckpt及pb模型持久化方式及转化详解
使用tensorflow训练模型的时候,模型持久化对我们来说非常重要. 如果我们的模型比较复杂,需要的数据比较多,那么在模型的训练时间会耗时很长.如果在训练过程中出现了模型不可预期的错误,导致训练意外终止,那么我们将会前功尽弃.为了解决这一问题,我们可以使用模型持久化(保存为ckpt文件格式)来保存我们在训练过程中的临时数据.. 如果我们训练出的模型需要提供给用户做离线预测,那么我们只需要完成前向传播过程.这个时候我们就可以使用模型持久化(保存为pb文件格式)来只保存前向传播过程中的变量并将变量
-
使用tensorflow显示pb模型的所有网络结点方式
代码如下: import tensorflow as tf from tensorflow.python.platform import gfile model = 'pb_path' graph = tf.get_default_graph() graph_def = graph.as_graph_def() graph_def.ParseFromString(gfile.FastGFile(model, 'rb').read()) tf.import_graph_def(graph_def,
-
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
升级到tf 2.0后, 训练的模型想转成1.x版本的.pb模型, 但之前提供的通过ckpt转pb模型的方法都不可用(因为保存的ckpt不再有.meta)文件, 尝试了好久, 终于找到了一个方法可以迂回转到1.x版本的pb模型. Note: 本方法首先有些要求需要满足: 可以拿的到模型的网络结构定义源码 网络结构里面的所有操作都是通过tf.keras完成的, 不能出现类似tf.nn 的tensorflow自己的操作符 tf2.0下保存的模型是.h5格式的,并且仅保存了weights, 即通过mod
-
TensorFlow获取加载模型中的全部张量名称代码
核心代码如下: [tensor.name for tensor in tf.get_default_graph().as_graph_def().node] 实例代码:(加载了Inceptino_v3的模型,并获取该模型所有节点的名称) # -*- coding: utf-8 -*- import tensorflow as tf import os model_dir = 'C:/Inception_v3' model_name = 'output_graph.pb' # 读取并创建一个图gr
-
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
[尊重原创,转载请注明出处]https://blog.csdn.net/guyuealian/article/details/79672257 项目Github下载地址:https://github.com/PanJinquan/Mnist-tensorFlow-AndroidDemo 本博客将以最简单的方式,利用TensorFlow实现了MNIST手写数字识别,并将Python TensoFlow训练好的模型移植到Android手机上运行.网上也有很多移植教程,大部分是在Ubuntu(Linu
-
TensorFlow实现打印每一层的输出
在test.py中可以通过如下代码直接生成带weight的pb文件,也可以通过tf官方的freeze_graph.py将ckpt转为pb文件. constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph_def,['net_loss/inference/encode/conv_output/conv_output']) with tf.gfile.FastGFile('net_model.pb', mod
随机推荐
- javascript基础知识讲解
- PostgreSQL教程(十七):客户端命令(1)
- angular.js指令中transclude选项及ng-transclude指令详解
- SQL获取表结构的show_table.vbs (冰点极限NP)
- PHP实现记录代码运行时间封装类实例教程
- Bootstrap基本组件学习笔记之按钮组(8)
- JavaScript可否多线程? 深入理解JavaScript定时机制
- PHP 面向对象实现代码
- php标签云的实现代码
- linux中用shell快速安装配置Go语言的开发环境
- jquery插件jSignature实现手动签名
- jQuery隐藏和显示效果实现
- jquery 操作单选框,复选框,下拉列表实现代码
- 原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
- [JS源码]超长文章自动分页(客户端版)
- C++中Semaphore内核对象用法实例
- 回归正途,用Opteron 144打造高性价比服务器
- JavaScript实现获取select下拉框中第一个值的方法
- PHP使用Redis长连接的方法详解
- Spring Boot 配置MySQL数据库重连的操作方法
