我在顶点AI上构建并部署了CatBoost回归模型,我试图使用顶点AI python SDK进行一些预测。下面是我的代码:
sample = [[2.0200e+03, 4.5000e+01, -2.6090e+01, -2.4440e+01, 3.8000e+01, 2.0201e+05]]
# get prediction
response = endpoint.predict(sample)
y_pred = response.predictions[0][0]
print('API response: ', response)
print('Predicted Value: ', y_pred)
和错误:
ValueError: Unable to coerce value: array([ 2.0200e+03, 4.5000e+01, -2.6090e+01, -2.4440e+01, 3.8000e+01, 2.0201e+05])
我相信顶点AI端点不接受narray和数组类型作为输入。相反,您需要将其转换为python列表。
无论您的sample
列表是numpyndarray
还是python内置array object
,您都可以将其转换为如下列表:
sample.tolist()
我不确定上面代码中sample
对象的类型,因为您发布的语法将在列表中创建列表,而不是numpy数组,它没有tolist()
:
>>> sample.tolist()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'tolist'
这在任何地方都没有明确提到,也没有Vertex AI错误信息。更多关于预测的数据类型可以在这里找到:https://cloud.google.com/vertex-ai/docs/predictions/get-predictions#deploy_a_model_to_an_endpoint