首页 > 解决方案 > 在 Google Cloud Vertex AI 上使用客户处理程序进行部署

问题描述

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

{
  "predictions": PREDICTIONS
}

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

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

def postprocess(self, data):
    return {
        "predictions": data
    }

TorchServe 返回:

{
  "code": 503,
  "type": "InternalServerException",
  "message": "Invalid model predict output"
}

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

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

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

标签: google-cloud-platformpytorchgoogle-cloud-mlgoogle-cloud-vertex-aitorchserve

解决方案


实际上,确保 TorchServe 正确处理输入字典(实例)解决了这个问题。似乎文章上的内容对我不起作用。


推荐阅读