0

我得到了一个 TensorFlow 检查点和一个导出模型,但要使用 Google ML Cloud 提供模型,我需要一个saved_model.pbtxt文件。似乎我需要加载检查点并使用SavedModelBuilderSavedModelBuilder想要输入和输出节点名称的字典。

我的问题是,给定检查点或导出的模型(如下),我如何找到生成pbtxt文件所需的节点名称,我需要通过 Google 的 ML Cloud 服务为模型提供服务?

checkpoint
export.data-00000-of-00001
export.index
export.meta
options.json
4

1 回答 1

1

export.meta 应该是MetaGraphDef原型。因此,您应该能够解析 proto 以获取graph。然后,您可以搜索节点以找到感兴趣的节点。

就像是:

import argparse
from tensorflow.core.protobuf import meta_graph_pb2 
import logging

if __name__ == "__main__":
  parser = argparse.ArgumentParser(
      description='Argument parser.')  
  parser.add_argument('--path',
                      required=True,
                      help='The path to the metadata graph file.')
  args = parser.parse_args()                      
  with open(args.path, 'r') as hf:
    graph = meta_graph_pb2.MetaGraphDef.FromString(hf.read())
  print "graph: \n{0}".format(graph)

我认为您还应该能够将 TensorBoard 指向包含该文件的目录,然后 TensorBoard 将呈现图形并使用它来识别输入/输出节点的名称。

于 2017-07-14T13:13:13.507 回答