Run docker container Error: Could not find base path /models/model for servable model

Run docker container Error: Could not find base path /models/model for servable model

我在尝试使用 docker 图像 运行 一个 docker 容器时遇到问题:tensorflow/serving.

  1. 我运行命令:

docker run --name=tf_serving -it tensorflow/serving

  1. 结果是:
2019-10-28 04:23:56.858540: I tensorflow_serving/model_servers/server_core.cc:462] Adding/updating models.
2019-10-28 04:23:56.858571: I tensorflow_serving/model_servers/server_core.cc:573]  (Re-)adding model: model
2019-10-28 04:23:56.858852: E tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:362] FileSystemStoragePathSource encountered a filesystem access error: Could not find base path /models/model for servable model

我一直在努力解决它,但仍然存在。有没有人知道这个,非常感谢!

您应该提供保存的模型路径。服务容器将在其 /models 目录中找到所有模型。您可以使用 -v for docker run 命令。这样做:

docker run --name=tf_serving -it -v /path/to/saved_model:/models/saved_model tensorflow/serving

我找到了解决办法,有同样问题的朋友,我们需要在本地电脑和docker中提供模型路径:

docker run --name=the_name -p 9000:9000 -it -v "/path_to_the_model_in_computer:/path_to_model_in_docker" tensorflow/serving:1.15.0 --model_name=MODEL_NAME --port=9000

我遇到了同样的问题

docker run -p 8501:8501 --name tensorflowserving \
--mount type=bind,source=absolute path to model/resnet,target=/models/resnet \
-e MODEL_NAME=resnet -t tensorflow/serving

在我的案例中,模型 是这个错误的过程。

对我认为很有帮助的争论的解释

  • -p 8501:8501:这是 REST 端点端口。每个预测请求都将发送到此端口。例如,您可以制作一个 预测请求到 http://localhost:8501.

    —名称tensorflowserving:这是给Docker 容器 运行 TF 服务。它可用于启动和停止 容器实例稍后。

    —挂载类型=bind,source=/Users/tf-server/img_classifier/,

    target=/models/img_classifier: mount 命令只是复制 模型从指定路径(/Users/tf-server/img_classifier/)导入 Docker 容器 (/models/img_classifier),因此 TF 服务具有 访问它