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'

# 读取并创建一个图graph来存放训练好的 Inception_v3模型(函数)
def create_graph():
 with tf.gfile.FastGFile(os.path.join(
   model_dir, model_name), 'rb') as f:
  # 使用tf.GraphDef()定义一个空的Graph
  graph_def = tf.GraphDef()
  graph_def.ParseFromString(f.read())
  # Imports the graph from graph_def into the current default Graph.
  tf.import_graph_def(graph_def, name='')

# 创建graph
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')

输出结果:

mixed_8/tower/conv_1/batchnorm/moving_variance 

mixed_8/tower/conv_1/batchnorm 

r_1/mixed/conv_1/batchnorm 

.

.

.

mixed_10/tower_1/mixed/conv_1/CheckNumerics 

mixed_10/tower_1/mixed/conv_1/control_dependency 

mixed_10/tower_1/mixed/conv_1 

pool_3 

pool_3/_reshape/shape 

pool_3/_reshape 

input/BottleneckInputPlaceholder
.
.
.
.
final_training_ops/weights/final_weights 

final_training_ops/weights/final_weights/read 

final_training_ops/biases/final_biases 

final_training_ops/biases/final_biases/read 

final_training_ops/Wx_plus_b/MatMul 

final_training_ops/Wx_plus_b/add 

final_result

由于结果太长了,就省略了一些。

如果不想这样print输出也可以将其写入txt 查看。

写入txt代码如下:

tensor_name_list = [tensor.name for tensor in tf.get_default_graph().as_graph_def().node]

txt_path = './txt/节点名称'
full_path = txt_path+ '.txt'

for tensor_name in tensor_name_list:
 name = tensor_name + '\n'
 file = open(full_path,'a+')
file.write(name)
file.close()

以上这篇TensorFlow获取加载模型中的全部张量名称代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 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把前面的维度当成是batch,对最后两维进行普通的矩阵乘法.也就是说,最后两维之前的维度,都需要相同. 首先计算shape为(2, 2, 3)乘以shape为(2, 3, 2)的张量. import tensorflow as tf import numpy as np a = tf.constant(np.arange(1, 13, dtype=np.float32), shape=[2, 2, 3]) b = tf.const

  • 如何解决tensorflow恢复模型的特定值时出错

    模型的恢复 对于的模型的恢复来说,需要首先恢复模型的整个图文件,之后从图文件中读取相应的节点信息. 存储的模型文件包括四个子文件,如下: 现在假如我想恢复模型中的某个节点信息: 需要注意的是在使用saver.restore恢复权值的时候,参数的设置需要万分注意: # 先加载图文件 saver = tf.train.import_meta_graph("./model/save_model.meta") graph = tf.get_default_graph() # 其中的一个节点 a

  • Tensorflow 实现修改张量特定元素的值方法

    最近在做一个摘要生成的项目,过程中遇到了很多小问题,从网上查阅了许多别人解决不同问题的方法,自己也在旁边开了个jupyter notebook搞些小实验,这里总结一下遇到的一些问题. Tensorflow用起来不是很顺手,很大原因在于tensor这个玩意儿,并不像数组或者列表那么的直观,直接print的话只能看到 Tensor(-) 这样的提示.比如下面这个问题,我们想要修改张量特定位置上的某个数值,操作起来就相对麻烦一些.和array一样,张量也是可以分段读取的,比如 tensor[1:10]

  • 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

  • 在WPF中动态加载XAML中的控件实例代码

    本文实例讲述了在WPF中动态加载XAML中的控件的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using S

  • Android 加载assets中的资源文件实例代码

    Android 加载assets资源 在android中,如何加载assets目录下的文件夹呢?方法很简单,使用 AssetManager, 即 AssetManager assetManager = getAssets(); 例子如下: AssetManager assetManager = getAssets(); try { String[] files = assetManager.list("Files"); for(int i=0; i<FILES.LENGTH; {

  • IOS中Weex 加载 .xcassets 中的图片资源的实例详解

    IOS中Weex 加载 .xcassets 中的图片资源的实例详解 前言: 因为 .xcassets 中的图片资源只能通过 imageNamed: 方法加载,所以需要做一些特殊处理,才能提供给 Weex 使用(PS:纯属娱乐,因为 Weex 跨平台的特性,这种针对某一端做实现的方案实用价值并不大). 方案 观察 WeexSDK 发现有 WXImgLoaderProtocol 这个协议,这个协议包含了下面的方法: - (id<WXImageOperationProtocol>)downloadI

  • Tensorflow加载模型实现图像分类识别流程详解

    目录 前言 正文 VGG19网络介绍 总结 前言 深度学习框架在市面上有很多.比如Theano.Caffe.CNTK.MXnet .Tensorflow等.今天讲解的就是主角Tensorflow.Tensorflow的前身是Google大脑项目的一个分布式机器学习训练框架,它是一个十分基础且集成度很高的系统,它的目标就是为研究超大型规模的视觉项目,后面延申到各个领域.Tensorflow 在2015年正式开源,开源的一个月内就收获到1w多的starts,这足以说明Tensorflow的优越性以及

  • TensorFlow加载模型时出错的解决方式

    当发现目录时出错如下: \windows\tensorflow\core\framework\op_kernel.cc:993] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for params_cifar.ckpt 在Windows下要把目录写对才可以. 比如 default='tmp'  要写成这样 default='./tmp' 这样TF就找到相应的目录了.

  • Tensorflow之MNIST CNN实现并保存、加载模型

    本文实例为大家分享了Tensorflow之MNIST CNN实现并保存.加载模型的具体代码,供大家参考,具体内容如下 废话不说,直接上代码 # TensorFlow and tf.keras import tensorflow as tf from tensorflow import keras # Helper libraries import numpy as np import matplotlib.pyplot as plt import os #download the data mn

  • pycharm远程连接服务器调试tensorflow无法加载问题

    最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服务器中执行程序正常): 直观错误为: ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory Failed to load the native TensorFlow runtime. 原因为无法加载libcusolver.so等,查

  • Python如何加载模型并查看网络

    目录 加载模型并查看网络 打开终端 神经网络_模型的保存,模型的加载 模型的保存(torch.save) 模型的加载(torch.load) 加载模型并查看网络 加载模型,以vgg19为例. 打开终端 > python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright"

  • Python之inspect模块实现获取加载模块路径的方法

    该文主要介绍如何获取模块的路径,需要申明的是这里所说的模块可以是功能实现的该模块,也可以是别的模块. 使用到的是 inspect 模块的 .getsourcefile(需要获取的模块名) 创建test.py内容如下: import os import inspect class pathManager(object): def __init__(self): pass def _abPath(self): modulePath = inspect.getsourcefile(os) abPath

随机推荐