Tensorflow 服务在基本路径下找不到可服务的 <MODEL> 版本

标签 tensorflow deep-learning object-detection tensorflow-serving

我在关注 this使用教程tensorflow serving使用我的对象检测模型。我正在使用 tensorflow object detection用于生成模型。我使用 this 创建了一个卡住模型导出器(生成的卡住模型 工作 使用 python 脚本)。
卡住图目录具有以下内容( variables 目录中没有内容)

variables/

saved_model.pb


现在,当我尝试使用以下命令为模型提供服务时,
tensorflow_model_server --port=9000 --model_name=ssd --model_base_path=/serving/ssd_frozen/
它总是向我展示

...

tensorflow_serving/model_servers/server_core.cc:421] (Re-)adding model: ssd 2017-08-07 10:22:43.892834: W tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:262] No versions of servable ssd found under base path /serving/ssd_frozen/ 2017-08-07 10:22:44.892901: W tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:262] No versions of servable ssd found under base path /serving/ssd_frozen/

...

最佳答案

我遇到了同样的问题,原因是对象检测 api 在导出检测模型时没有分配模型的版本。但是,tensorflow 服务要求您分配检测模型的版本号,以便您可以选择不同版本的模型进行服务。在您的情况下,您应该将检测模型(.pb 文件和变量文件夹)放在文件夹下:
/serving/ssd_frozen/1/.通过这种方式,您将您的模型分配到版本 1,并且 tensorflow 服务将自动加载该版本,因为您只有一个版本。默认情况下,tensorflow 服务将自动提供最新版本(即最大数量的版本)。

注意,创建 1/文件夹后,model_base_path 仍然需要设置为 --model_base_path=/serving/ssd_frozen/。

关于Tensorflow 服务在基本路径下找不到可服务的 <MODEL> 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45544928/

相关文章:

tensorflow bidirectional_dynamic_rnn 无值错误

python - Tensorflow:调整图像占位符大小

computer-vision - 除了 yolov4 的 darknet 之外,是否已经有可用的权重,还是我必须训练?

azure - 在Azure机器学习上部署YOLOV5

tensorflow - CNN Keras 对象本地化 - 错误的预测

python - 警告 :tensorflow:Ignoring detection with image id despite true config parameters

tensorflow - 自定义 Tensorflow Hub 模块的输入

python - 来自 Google 的 TensorFlow - 数据安全

instance - “instance detection” 和 "semantic segmentation"有什么区别?

opencv - 在 OpenCV C++ 中使用 SimpleBlobDetector 时如何处理紧密重叠的关键点?