tensorflow - 将图形 (pb) 转换为 SavedModel 以用于 gcloud ml-engine predict

标签 tensorflow object-detection google-cloud-ml google-cloud-ml-engine

我根据 recent post by Google’s Derek Chow on the Google Cloud Big Data And Machine Learning Blog 使用 Cloud Machine Learning Engine 训练了一个对象检测器。现在想使用 Cloud Machine Learning Engine 进行预测。

说明包括将 Tensorflow 图导出为 output_inference_graph.pb 的代码,但不包括如何将 protobuf 格式 (pb) 转换为 gcloud ml-engine predict 所需的 SavedModel 格式。

我查看了 answer by Google’s @rhaertel80了解如何转换“Tensorflow For Poets”图像分类模型和 answer provided by Google’s @MarkMcDonald关于如何转换“Tensorflow For Poets 2”图像分类模型,但两者似乎都不适用于博客文章中描述的对象检测器图 (pb)。

请如何转换该对象检测器图 (pb) 以便可以使用它或 gcloud ml-engine 预测?

最佳答案

SavedModel 包含一个 MetaGraphDef在其 structure 内.
要从 python 中的 GraphDef 创建 SavedModel,您可能需要使用链接中描述的构建器。

export_dir = ...
...
builder = tf.saved_model.builder.SavedModelBuilder(export_dir)
with tf.Session(graph=tf.Graph()) as sess:
  ...
  builder.add_meta_graph_and_variables(sess,
                                       [tag_constants.TRAINING],
                                       signature_def_map=foo_signatures,
                                       assets_collection=foo_assets)
...
with tf.Session(graph=tf.Graph()) as sess:
  ...
  builder.add_meta_graph(["bar-tag", "baz-tag"])
...
builder.save()

关于tensorflow - 将图形 (pb) 转换为 SavedModel 以用于 gcloud ml-engine predict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44639463/

相关文章:

python - 如何为 gcloud ml 打包子文件夹?

python - 以编程方式读取云机器学习引擎的训练输出

python - 如何使用 Keras 创建多输入一输出 LSTM 模型?

machine-learning - 将 Keras 模型加载到 TensorFlow 时输入和输出张量的名称

tensorflow - 从 Tensorflow 2.0 中加载的saved_model 访问中间层

python-3.x - 为多个对象创建 TFrecord 文件

tensorflow - 使用 Tensorflow Object Detection API 检测图像中的小物体

python - GCloud 命令行从不同帐户执行时出现错误

python - ERROR : a package requires another one, 未安装,Python

image - 我们可以使用经过图像分类训练的模型来帮助 tensorflow 中的对象检测吗?