在 Vertex AI Predict 上指定签名名称
Specify signature name on Vertex AI Predict
我已经使用 TFX 管道在顶点 AI 平台中部署了一个张量流模型。该模型具有自定义服务签名,但我在预测时很难指定签名。
我在 GCP AI Platform 中部署了完全相同的模型,我可以指定它。
根据vertex documentation,我们必须传递一个包含实例(列表)和参数(字典)值的字典。
我已将这些论点提交给 this function:
instances: [{"argument_n": "value"}]
parameters: {"signature_name": "name_of_signature"}
不行,它仍然得到模型的默认签名。
在 GCP AI 平台中,我已经能够预测直接在请求正文中指定签名名称:
response = service.projects().predict(
name=name,
body={"instances": instances,
"signature_name": "name_of_signature"},
).execute()
@编辑
我发现使用 gcloud 的 rawPredict method 是可行的。
这是一个例子:
!gcloud ai endpoints raw-predict {endpoint} --region=us-central1 \
--request='{"signature_name":"name_of_the_signature", \
"instances": [{"instance_0": ["value_0"], "instance_1": ["value_1"]}]}'
不幸的是,看着 google api models code 它只有预测方法,没有 raw_predict。所以我不知道它现在是否可以通过 python sdk 获得。
Vertex AI 是一个较新的平台,随着时间的推移会得到改进。 “signature_name”可以像您所做的那样添加到 RawPredictRequest or from gcloud 中的 HTTP JSON 有效载荷,但现在这在常规预测请求中不可用。
使用 HTTP JSON 负载:
示例:
input.json :
{
"instances": [
["male", 29.8811345124283, 26.0, 1, "S", "New York, NY", 0, 0],
["female", 48.0, 39.6, 1, "C", "London / Paris", 0, 1]],
"signature_name": <string>
}
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT_ID}:rawPredict \
-d "@input.json"
我已经使用 TFX 管道在顶点 AI 平台中部署了一个张量流模型。该模型具有自定义服务签名,但我在预测时很难指定签名。
我在 GCP AI Platform 中部署了完全相同的模型,我可以指定它。
根据vertex documentation,我们必须传递一个包含实例(列表)和参数(字典)值的字典。
我已将这些论点提交给 this function:
instances: [{"argument_n": "value"}]
parameters: {"signature_name": "name_of_signature"}
不行,它仍然得到模型的默认签名。
在 GCP AI 平台中,我已经能够预测直接在请求正文中指定签名名称:
response = service.projects().predict(
name=name,
body={"instances": instances,
"signature_name": "name_of_signature"},
).execute()
@编辑 我发现使用 gcloud 的 rawPredict method 是可行的。
这是一个例子:
!gcloud ai endpoints raw-predict {endpoint} --region=us-central1 \
--request='{"signature_name":"name_of_the_signature", \
"instances": [{"instance_0": ["value_0"], "instance_1": ["value_1"]}]}'
不幸的是,看着 google api models code 它只有预测方法,没有 raw_predict。所以我不知道它现在是否可以通过 python sdk 获得。
Vertex AI 是一个较新的平台,随着时间的推移会得到改进。 “signature_name”可以像您所做的那样添加到 RawPredictRequest or from gcloud 中的 HTTP JSON 有效载荷,但现在这在常规预测请求中不可用。
使用 HTTP JSON 负载:
示例:
input.json :
{
"instances": [
["male", 29.8811345124283, 26.0, 1, "S", "New York, NY", 0, 0],
["female", 48.0, 39.6, 1, "C", "London / Paris", 0, 1]],
"signature_name": <string>
}
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT_ID}:rawPredict \
-d "@input.json"