繁体   English   中英

从.ckpt和.meta文件tensorflow获取输入和输出节点名称

Get input and output node name from .ckpt and .meta files tensorflow

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有张量流模型的.meta和.ckpt文件。 我想知道确切的输入和输出节点名称,但是通过此操作,我可以得到节点名称的列表。

当我有一个冻结的protobuf模型时,使用以下代码获取输入节点名称和输出节点名称作为列表的开头和结尾:

import tensorflow as tf
from tensorflow.python.platform import gfile
GRAPH_PB_PATH = 'frozen_model.pb'
with tf.Session() as sess:
   print("load graph")
   with gfile.FastGFile(GRAPH_PB_PATH,'rb') as f:
       graph_def = tf.GraphDef()
   graph_def.ParseFromString(f.read())
   sess.graph.as_default()
   tf.import_graph_def(graph_def, name='')
   graph_nodes=[n for n in graph_def.node]
   names = []
   for t in graph_nodes:
      names.append(t.name)
   print(names)

我可以对.ckpt或.meta文件做类似的事情吗?

1 个回复

.meta文件包含有关tensorflow 图中不同节点的信息。 在这里得到了更好的解释。

此时,图中不同变量的值分别存储在checkpoint.data-xxxx-of-xxxx文件的checkpoint文件夹中。

与冻结模型的情况相反,在正常检查点过程中没有输入或输出节点的概念。 冻结模型将输出整个张量流图的子集。 主图的此子集仅具有输出节点所依赖的那些节点。 由于冻结模型是出于服务目的而完成的,因此它将张量流变量转换为常量,从而无需在每个步骤中存储其他信息,例如不同变量的梯度。

如果您仍然想识别您感兴趣的节点,则可以从.meta文件还原图形并在tensorboard中可视化它。

import tensorflow as tf
from tensorflow.summary import FileWriter

sess = tf.Session()
tf.train.import_meta_graph("your-meta-graph-file.meta")
FileWriter("__tb", sess.graph)

这将在当前目录中创建一个__tb文件夹,然后您可以通过发出以下命令来查看图形。

tensorboard --logdir __tb

是指向已选择节点的某些模型的屏幕截图的链接。 您可以从右上角获取节点的名称。

7 来自 model.ckpt.meta 文件的 Tensorflow 视图图

我有一个model.ckpt.meta文件,我只想查看架构/图形结构。 我无法从model.ckpt.meta文件中找到如何执行此操作。 感谢米兰遵循代码: 我得到下面的图表。 但是很多架构都缺失了。 编辑:哇! 我忘了双击模型。 排序。 ...

9 VBScript:使用重复节点名称更新/修改XML文件 - 输入:TXT和XML - 输出:XML

我试图使用VBscript。 (我对VBScript并不擅长,实际上并没有使用它几年,但它是我目前正在工作的环境中工作的少数几种工具之一,我至少之前使用过它。 Powershell是可以使用的另一个工具,但我在Powershell中的经验甚少,并且只用于几个点任务。) 关于问题:我有两个 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM