googleapis / googleapis/python-aiplatform

MethodNotImplemented: 501 Received http2 header with status: 404

未关闭
#4,736 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: vertex-ai
主要语言
Python
星标
905
派生
465
平均合并
1 天 13 小时
30 天内合并 PR
44

描述

I have deployed triton docker container in vertex ai and here is my code to send request to vertex ai using python aiplatform_v1.
Code:
```
import numpy as np
import json
import time
import cv2
import os
import base64
import matplotlib.pyplot as plt
from google.cloud import aiplatform_v1
import traceback
from google.api.httpbody_pb2 import HttpBody

project = "my-project-name"
location = "location"
endpoint_id = "endpoint-id"

endpoint_name = f"projects/{project}/locations/{location}/endpoints/{endpoint_id}"

client = aiplatform_v1.PredictionServiceClient()

s_path = "/input-images-folder-path/"
s_data = os.listdir(s_path)

input_data = [cv2.imread(os.path.join(s_path,s_data[0]))]
pred_time = []
print("Start Time:",time.time())
for image_name in s_data:

if image_name.split(".")[-1]!="txt":

try:
input_data = [cv2.imread(os.path.join(s_path,image_name))]
b64_data = []
for img in input_data:
content = str(base64.b64encode(cv2.imencode('.png', img)[1].tobytes()).decode("utf-8"))
b64_data.append(content)

b64_data = np.array(b64_data, dtype=object)

payload = {
"id": "0",
"inputs": [
{
"name": "input_image",
"shape": [1,1],
"datatype": "BYTES",
"parameters": {},
"data": b64_data.tolist(),
}
],
}

# Convert payload to bytes
payload_inst = json.dumps(payload).encode("utf-8")
http_body = HttpBody(content_type="application/octet-stream", data= payload_inst)

request = aiplatform_v1.RawPredictRequest(endpoint = endpoint_name, http_body = http_body)

start = time.time()
print("start prediction.........")
response = client.raw_predict(request=request, timeout=30) # Timeout in seconds
print("end prediction.........")
end = time.time()
pred_time.append(end-start)


except Exception as e:
print(traceback.print_exc())
print(e)
print('====================================================================================================')

print("End Time:",time.time())
print("Average Time:",sum(pred_time)/len(pred_time))
```
Running above code i got "501 Received http2 header with status: 404" error.
Error shows that endpoint is not found but i followed official documentation.

Can someone tell me what's wrong in code?

贡献指南

打开贡献指南

调研方向

先从 issue 中 Python 示例里的 endpoint_name 和 PredictionServiceClient 设置开始,然后将 RawPredictRequest 的构造与文档化的 Vertex AI Triton 请求路径进行比较。完成的标准是确定 endpoint 和请求配置是否能成功到达已部署的模型;payload 未指定任何 repository 文件或要运行的测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
google-cloud, python
领域
api, cloud, machine-learning
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。