问题标签 [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.
python - TorchServe 二进制输出格式
我正在尝试在生产环境中开始使用 TorchServe。模型接收图像并在后处理后返回另一张图像。现在输出以 JSON 格式返回,当然,这对于大量数据来说效率不高。
如何强制 TorchServe 将数据转换为二进制格式?
在最坏的情况下,我什至可以接受 base64 编码。尽管如此,我更喜欢简单的二进制数据流。
返回数据示例
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 实例?
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 的完整故障日志
pytorch - 处理程序在 torch-model-archive 中扮演什么角色,我是否做出了正确的选择?
我目前正在尝试第一次部署 pytorch 模型。我将torchserve与torch-model-archive结合使用。我遵循本教程并偶然发现了处理程序标志。出于某种原因,我需要指定它,否则我会收到错误,否则缺少所需的处理程序参数。但是我真的找不到令人满意的解释这个处理程序实际上在做什么。
在github 存储库页面上有一个描述,但我无法真正理解它们的意思。
--handler HANDLER TorchServe 的默认处理程序名称或处理程序 python 文件路径,用于处理自定义 TorchServe 推理逻辑。
我找到了一个“默认处理程序”列表,并--handler image_classifier
在处理普通图像多类分类任务时使用model.mar
并创建了一个。这是正确的选择吗?
编辑:我想将此标记为火炬模型存档问题,但我没有足够的声誉来创建标记。
pytorch - 如何将本地 model.mar 注册到正在运行的 torchserve 服务?
我有一个正在运行的torchserve服务。根据文档,我可以使用ManagementAPI在端口 8081 注册一个新模型。运行curl -X OPTIONS http://localhost:8081
时,输出还说明发布请求的时间/models
:
现在,我确实有一个本地 model.mar 文件,并且想将它与文件协议一起使用。我试过了:
但得到:
有什么我想念的吗?如何正确注册本地model.mar
到正在运行的torchserve服务?