gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:58 28 4
gpt4 key购买 nike

我有 tensorflow 模型的 .meta 和 .ckpt 文件。我想知道确切的输入和输出节点名称,但我通过关注 this 获得了节点名称列表。 .

当我有一个卡住的 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 文件做类似的事情吗?

最佳答案

.meta 文件包含有关 tensorflow 中不同节点的信息 graph .这已经得到更好的解释here .

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

在正常检查点过程中没有输入或输出节点的概念,这与卡住模型的情况相反。卡住模型会输出整个 tensorflow 图的一个子集。主图的这个子集仅包含输出节点所依赖的那些节点。由于卡住模型是为了服务目的,它会将 tensorflow 变量转换为常量,从而无需在每个步骤中存储额外的信息,例如不同变量的梯度。

如果您仍然想识别您感兴趣的节点,您可以从 .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

Here是指向某些模型的屏幕截图的链接,其中选择了一个节点。您可以从右上角获取节点的名称。

关于python - 从 .ckpt 和 .meta 文件中获取输入和输出节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757380/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com