首页 > 解决方案 > 如何将 tensorflow hub 预训练模型转换为可通过 tensorflow 服务使用

问题描述

我正在尝试将用于我的对象检测任务。我面临的问题是:

  1. 在运行 saved_model_cli 命令时,我得到以下输出。没有使用标记集“serve”定义的签名,方法名称也为空

在此处输入图像描述

  1. 模型目录中的变量文件夹仅包含几个字节的数据,这意味着权重实际上并未写入磁盘。

模型格式似乎是 HubModule V1,这似乎是问题所在,非常感谢有关使上述模型可服务的任何提示。

标签: tensorflowmachine-learningtensorflow2.0tensorflow-servingtensorflow-hub

解决方案


TF2 SavedModels 应该没有这个问题,只有来自 TF1 的 Hub.Modules 因为 Hub.Modules 将签名用于其他目的。您可以使用 hub.Module 并构建一个可服务的 SavedModel,但它非常复杂,并且需要自己构建签名。

相反,我建议您查看 TFHub.dev 上的 TF2 对象检测模型列表,以找到您可以使用的模型而不是您正在使用的模型:https ://tfhub.dev/s?module-type=image-object-detection&tf -版本=tf2

这些模型应该可以使用 TF Serving 进行服务


推荐阅读