Torchserve在本地运行时无法在docker上加载模型



我有一个torchscript模型(.pt(,我可以在本地机器上成功加载并使用torch-service进行服务。另一方面,当试图将其部署在官方的torchserve docker中时,它会抱怨模型,而不会加载它。

我的本地环境库是:

  • torchserve版本:0.5.2
  • 火炬模型存档版本:0.5.2
  • 火炬版本:1.10
  • java版本:17
  • 操作系统和版本:MacOS 11.4

使用pytorch/torchserve:latest-cpu的Docker im,我希望所有版本都能解决(我不安装特定的版本(。

我想知道这是最新图像中的一些错误还是我这边的一些错误(以及如何修复(。我将在下面提供更多关于环境和如何复制的细节。

我在我的存储库中创建了一个可复制的示例,https://github.com/jiwidi/torchservebug.将其复制为这样:

在本地运行

从根文件夹运行

$ sh test.sh

此操作成功运行。

使用docker运行

从根文件夹运行

$ docker build . -t debug:v1
$ docker run debug:v1

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

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

首先要知道的是docker标签只是标签。仅仅因为它被标记为";最新的";并不意味着什么。事实上,你会在dockerhub 上看到版本0.5.2-cpulatest-cpu

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

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

希望这对你有帮助。

相关内容

  • 没有找到相关文章

最新更新