Torchserve 在本地运行时无法在 docker 上加载模型
Torchserve fails to load model on docker while it runs locally
我有一个 torchscript 模型 (.pt
),我可以在我的本地机器上使用 torch serve 成功加载和服务。另一方面,当试图在官方 torchserve 中部署它时 docker 它会抱怨模型并且不加载它。
我的本地环境库是:
- torchserve 版本:0.5.2
- torch-model-archiver 版本:0.5.2
- 手电筒版本:1.10
- java版本:17
- 操作系统和版本:MacOS 11.4
使用 Docker 我希望使用 pytorch/torchserve:latest-cpu
来整理所有版本(我不安装特定版本)。
我想知道这是最新图像的一些错误还是我这边的一些不当行为(以及如何修复)。我将在下面提供有关环境和如何重现的更多详细信息。
我在我的存储库中创建了一个可重现的示例,https://github.com/jiwidi/torchservebug。克隆它以像这样重现它:
运行本地
从根文件夹运行
$ sh test.sh
这 运行 成功了。
运行 与 docker
从根文件夹运行
$ docker build . -t debug:v1
$ docker run debug:v1
这不是 运行,torchserve 无法加载模型并输出 java 错误以及一些手电筒错误。
来自 docker 的完整失败日志可以在这个 github 问题 https://github.com/pytorch/serve/issues/1402
中找到
首先要知道的是 docker 标签只是标签。仅仅因为它被标记为“最新”并不意味着什么。事实上你会看到版本 0.5.2-cpu
比 latest-cpu
here on dockerhub
更新
使用这个至少可以摆脱 java 错误。除此之外,您应该知道 EXPOSE
作为 docker 文件中的命令是令人困惑的:它除了作为文档之外什么都不做。因此,如果您需要在 运行 容器时访问这些端口,则必须使用 -p
标志发布端口:
docker run -p 8080:8080 -p 8081:8081 debug:v1
希望对您有所帮助。
我有一个 torchscript 模型 (.pt
),我可以在我的本地机器上使用 torch serve 成功加载和服务。另一方面,当试图在官方 torchserve 中部署它时 docker 它会抱怨模型并且不加载它。
我的本地环境库是:
- torchserve 版本:0.5.2
- torch-model-archiver 版本:0.5.2
- 手电筒版本:1.10
- java版本:17
- 操作系统和版本:MacOS 11.4
使用 Docker 我希望使用 pytorch/torchserve:latest-cpu
来整理所有版本(我不安装特定版本)。
我想知道这是最新图像的一些错误还是我这边的一些不当行为(以及如何修复)。我将在下面提供有关环境和如何重现的更多详细信息。
我在我的存储库中创建了一个可重现的示例,https://github.com/jiwidi/torchservebug。克隆它以像这样重现它:
运行本地
从根文件夹运行
$ sh test.sh
这 运行 成功了。
运行 与 docker
从根文件夹运行
$ docker build . -t debug:v1
$ docker run debug:v1
这不是 运行,torchserve 无法加载模型并输出 java 错误以及一些手电筒错误。
来自 docker 的完整失败日志可以在这个 github 问题 https://github.com/pytorch/serve/issues/1402
中找到首先要知道的是 docker 标签只是标签。仅仅因为它被标记为“最新”并不意味着什么。事实上你会看到版本 0.5.2-cpu
比 latest-cpu
here on dockerhub
使用这个至少可以摆脱 java 错误。除此之外,您应该知道 EXPOSE
作为 docker 文件中的命令是令人困惑的:它除了作为文档之外什么都不做。因此,如果您需要在 运行 容器时访问这些端口,则必须使用 -p
标志发布端口:
docker run -p 8080:8080 -p 8081:8081 debug:v1
希望对您有所帮助。