问题标签 [torchserve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

python - TorchServe 二进制输出格式

我正在尝试在生产环境中开始使用 TorchServe。模型接收图像并在后处理后返回另一张图像。现在输出以 JSON 格式返回,当然,这对于大量数据来说效率不高。

如何强制 TorchServe 将数据转换为二进制格式?

在最坏的情况下,我什至可以接受 base64 编码。尽管如此,我更喜欢简单的二进制数据流。

返回数据示例

0 投票
1 回答
208 浏览

google-cloud-platform - 在 Google Cloud Vertex AI 上使用客户处理程序进行部署

我正在尝试在 Google Vertex AI 平台上部署一个 TorchServe 实例,但根据他们的文档(https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#response_requirements),它需要响应具有以下形状:

其中PREDICTIONS是一个 JSON 值数组,表示您的容器生成的预测。

不幸的是,当我尝试在postprocess()自定义处理程序的方法中返回这样的形状时,如下所示:

TorchServe 返回:

请注意,这data是一个列表列表,例如:[[1, 2, 1], [2, 3, 3]]。(基本上,我是从句子中生成嵌入)

现在,如果我只是简单地返回data(而不是 Python 字典),它可以与 TorchServe 一起使用,但是当我在 Vertex AI 上部署容器时,它会返回以下错误: ModelNotFoundException. 我假设 Vertex AI 抛出此错误,因为返回形状与预期不匹配(参见文档)。

是否有人成功地在 Vertex AI 上使用自定义处理程序部署了 TorchServe 实例?

0 投票
1 回答
59 浏览

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

我有一个 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中创建了一个可重现的示例。克隆它以像这样复制它:

在本地运行

从根文件夹运行

这运行成功。

使用 docker 运行

从根文件夹运行

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

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

0 投票
0 回答
14 浏览

pytorch - 处理程序在 torch-model-archive 中扮演什么角色,我是否做出了正确的选择?

我目前正在尝试第一次部署 pytorch 模型。我将torchservetorch-model-archive结合使用。我遵循本教程并偶然发现了处理程序标志。出于某种原因,我需要指定它,否则我会收到错误,否则缺少所需的处理程序参数。但是我真的找不到令人满意的解释这个处理程序实际上在做什么。
github 存储库页面上有一个描述,但我无法真正理解它们的意思。

--handler HANDLER TorchServe 的默认处理程序名称或处理程序 python 文件路径,用于处理自定义 TorchServe 推理逻辑。

我找到了一个“默认处理程序”列表,并--handler image_classifier在处理普通图像多类分类任务时使用model.mar并创建了一个。这是正确的选择吗?

编辑:我想将此标记为火炬模型存档问题,但我没有足够的声誉来创建标记。

0 投票
1 回答
44 浏览

pytorch - 如何将本地 model.mar 注册到正在运行的 torchserve 服务?

我有一个正在运行的torchserve服务。根据文档,我可以使用ManagementAPI在端口 8081 注册一个新模型。运行curl -X OPTIONS http://localhost:8081时,输出还说明发布请求的时间/models

现在,我确实有一个本地 model.mar 文件,并且想将它与文件协议一起使用。我试过了:

但得到:

有什么我想念的吗?如何正确注册本地model.mar到正在运行的torchserve服务?