将预训练的张量流模型转换为张量流服务

问题描述 投票:0回答:1

我正在尝试使用张量流服务。但是,任何可供下载的经过预先训练的模型(例如从此处:the TF detection zoo)在saved_models/variables目录中都没有服务模型所需的任何文件。

如何使用检测模型库中可用的预训练模型来创建saved_models/variables目录中所需的文件?

有一些信息from the official documentation,但不涵盖我转换要提供的预训练模型的用例。

我尝试过的其他事情是使用tensorflow服务示例。但是,大多数现有文档都以Resent实现为例,并且Tensorflow已删除了resnet的预训练模型。 This is the linked that tutorials use,请注意,没有直接链接可以下载模型。顺便说一句,但又一个有趣的事情是,Tensorflow服务回购中的python示例不适用于Tensorflow 2.0。

看来此链接在转换中可能有用:https://github.com/tensorflow/models/issues/1988

python tensorflow tensorflow-serving
1个回答
0
投票

确定,截至编写本文时,对象检测教程仅支持tensorflow 1.12.0。

很难做到这一点,因为它是如此多层,但是您需要:

  1. 克隆tensorflow开放模型动物园
  2. 根据models/research/object_detection/exporter.py修补these instructions。或者,您可以使用上述说明的this patch
  3. 在克隆的存储库中,按照found here的说明进行对象检测安装。遵循protobuf compilation steps和更新python path for the slim libraries非常重要。
  4. 遵循exporting a trained model for inference的说明。请注意,指令中重要的重要部分是下载的模型将带有三个model.ckpt文件名。需要传递到导出脚本中的文件名是这三个文件名的基本文件名。因此,如果三个文件分别为/path/to/model.ckpt.data-00000-of-00001/path/to/model.ckpt.meta/path/to/model.ckpt.index,则传递给脚本的参数为:/path/to/model.ckpt
  5. 享受您的新模型!
© www.soinside.com 2019 - 2024. All rights reserved.