session_bundle 里面的 manifest_pb2 在哪里?

Where is manifest_pb2 inside session_bundle?

我正在尝试导出之前训练的模型 (pb) 以用于服务 使用以下代码段

from tensorflow_serving.session_bundle import exporter
def create_graph():
        """Creates a graph from saved GraphDef file and returns a saver."""
        # Creates graph from saved graph_def.pb.
        with tf.gfile.FastGFile(modelFullPath, 'rb') as f:
            graph_def = tf.GraphDef()
            graph_def.ParseFromString(f.read())
            _ = tf.import_graph_def(graph_def, name='')

def export():
        print 'Exporting trained model to', export_path
        saver = tf.train.Saver(sharded=True)
        model_exporter = exporter.Exporter(saver)
        signature = exporter.classification_signature(input_tensor=x, scores_tensor=y)
        model_exporter.init(sess.graph.as_graph_def(),default_graph_signature=signature) 
        model_exporter.export(export_path, tf.constant(FLAGS.export_version), sess)
        print 'Done exporting!'

然而 exporter.py 中的 manifest_pb2 未找到。 我是否遗漏了这种方法中的一些基本内容?

manifest_pb2.py 是在使用 bazel 构建 session_bundle 时从 manifest.proto 生成的。在 Mac 我使用 pip3 安装了 TensorFlow,文件位于 /usr/local/lib/python3.5/site-packages/tensorflow/contrib/session_bundle/manifest_pb2.py

针对您的平台按照 https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html 中的步骤进行操作,应该可以解决问题。