TensorFlow获取加载模型中的全部张量名称代码

 更新时间:2020年02月11日 17:06:19   作者:ymznice  
今天小编就为大家分享一篇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获取加载模型中的全部张量名称代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 字符串与二进制串的相互转换示例

    Python 字符串与二进制串的相互转换示例

    今天小编就为大家分享一篇Python 字符串与二进制串的相互转换示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python 中导入文本文件的示例代码

    Python 中导入文本文件的示例代码

    这篇文章主要介绍了如何在 Python 中导入文本文件,在Python中导入文本文件是很常见的操作,我们可以使用内置的open函数和with语句来读取或写入文本文件,需要的朋友可以参考下
    2023-05-05
  • 老生常谈Python基础之字符编码

    老生常谈Python基础之字符编码

    下面小编就为大家带来一篇老生常谈Python基础之字符编码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • python中Requests发送json格式的post请求方法

    python中Requests发送json格式的post请求方法

    这篇文章主要介绍了python中Requests发送json格式的post请求方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的朋友可以参考一下
    2022-09-09
  • python使用xpath获取页面元素的使用

    python使用xpath获取页面元素的使用

    本文主要介绍了python使用xpath获取页面元素的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Python实现处理逆波兰表达式示例

    Python实现处理逆波兰表达式示例

    这篇文章主要介绍了Python实现处理逆波兰表达式操作,结合实例形式分析了逆波兰表达式的概念、原理及Python针对逆波兰表达式的定义与计算相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • 利用Python将list列表写入文件并读取的方法汇总

    利用Python将list列表写入文件并读取的方法汇总

    因为实验需要,实现了一下写入txt文件,下面这篇文章主要给大家介绍了关于如何利用Python将list列表写入文件并读取的几种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python基于LightGBM进行时间序列预测

    Python基于LightGBM进行时间序列预测

    LightGBM是扩展机器学习系统。是一款基于GBDT(梯度提升决策树)算法的分布梯度提升框架。其设计思路主要集中在减少数据对内存与计算性能的使用上,以及减少多机器并行计算时的通讯代价。本文将通过LightGBM进行时间序列预测,感兴趣的可以了解一下
    2022-03-03
  • Python检测PE所启用保护方式详解

    Python检测PE所启用保护方式详解

    Python通过pywin32模块调用WindowsAPI接口,可以实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,感兴趣的可以了解一下
    2022-10-10
  • Python基础第三方模块requests openpyxl

    Python基础第三方模块requests openpyxl

    这篇文章主要为大家介绍了Python基础第三方模块requests openpyxl使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论