如何找出冻结的张量流图的正确输入和输出操作?

Posted

技术标签:

【中文标题】如何找出冻结的张量流图的正确输入和输出操作?【英文标题】:How to find out the correct input and output operation of a frozen tensorflow graph? 【发布时间】:2019-09-14 11:18:33 【问题描述】:

我收到了一个用 python 训练的神经网络,格式是冻结图 (.pb)。为了使用 C-API 进行推理(这种特殊情况需要),我需要找出图形的输入和输出操作的名称。显然,这些名称与培训期间的名称不同。该图有 1780 个操作,以下名称中包含“输入”或“输出”:

输入:

bn1a_branch2a/keras_learning_phase/input

input_1_7



output:

output_1/kernel

output_1/bias

output_1_1/kernel

output_1_1/bias

output_1_2/kernel

output_1_2/bias

output_1_3/kernel

output_1_3/bias

output_1_4/kernel

output_1_4/bias

output_1_5/kernel

output_1_5/bias

output_1_6/kernel

output_1_6/bias

output_1_7/kernel

output_1_7/kernel/read

output_1_7/bias

output_1_7/bias/read

output_1_7/MatMul

output_1_7/BiasAdd

有没有办法找出冻结图的实际输入和输出操作?

【问题讨论】:

【参考方案1】:

对于任何寻求答案的人来说都可以:唯一可靠的方法似乎是使用 Tensorboard 可视化图表。这样,无论您的图表包含多少操作,您都可以避免任何陷阱。

【讨论】:

以上是关于如何找出冻结的张量流图的正确输入和输出操作?的主要内容,如果未能解决你的问题,请参考以下文章

用rational rose 如何画数据流图

是否可以在没有训练操作的情况下可视化张量流图?

在张量流中将 SSD 转换为冻结图。必须使用哪些输出节点名称?

pytorch 可以优化顺序操作(如张量流图或 JAX 的 jit)吗?

如何找到冻结模型的输入和输出节点

系统信号流图及其简化