如何从TensorFlow检查点或模型创建SavedModel?

时间:2017-07-14 07:27:03

标签: tensorflow tensorflow-serving google-cloud-ml-engine

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

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

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

1 个答案:

答案 0 :(得分:1)

export.meta应为MetaGraphDef原型。所以你应该能够解析原型以获得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将呈现图形并使用它来识别输入/输出节点的名称。