在 Google Cloud Vertex AI 上部署客户处理程序

Deployment with customer handler on 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() 方法中 return 这样的形状时,如下所示:

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

TorchServe returns:

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

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

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

有没有人成功地在 Vertex AI 上部署带有自定义处理程序的 TorchServe 实例?

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