我在关注 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/