0

我有一个 torchscript 模型 ( .pt),我可以在本地机器上成功加载和使用 torch serve 服务。另一方面,当尝试在官方的 torchserve docker 中部署它时,它会抱怨模型并且不加载它。

我的本地环境库是:

  • 火炬服务版本:0.5.2
  • 火炬模型存档版本:0.5.2
  • 火炬版本:1.10
  • 爪哇版本:17
  • 操作系统和版本:MacOS 11.4

使用 Docker impytorch/torchserve:latest-cpu时,我希望能够整理出所有版本(我不安装特定版本)。

我想知道这是最新图像的一些错误还是我这边的一些失误(以及如何修复它)。我将在下面提供有关环境以及如何重现的更多详细信息。

我在我的存储库https://github.com/jiwidi/torchservebug中创建了一个可重现的示例。克隆它以像这样复制它:

在本地运行

从根文件夹运行

$ sh test.sh

这运行成功。

使用 docker 运行

从根文件夹运行

$ docker build . -t debug:v1

$ docker run debug:v1

这不运行,torchserve 无法加载模型并输出 java 错误以及一些 torch 错误。

可以在这个 github 问题https://github.com/pytorch/serve/issues/1402中找到来自 docker 的完整故障日志

4

1 回答 1

0

首先要知道的是 docker 标签只是标签。仅仅因为它被标记为“最新”并不意味着什么。事实上,您会在 dockerhub 上0.5.2-cpu看到该版本比此处更新latest-cpu

使用这个至少可以摆脱 java 错误。除此之外,您应该知道EXPOSE作为 dockerfiles 中的命令是令人困惑的:它除了作为文档之外什么都不做。因此,如果您需要在运行容器时访问这些端口,则必须使用以下-p标志发布端口:

docker run -p 8080:8080 -p 8081:8081 debug:v1

希望这对您有所帮助。

于 2022-01-14T17:02:28.383 回答