googleapis / googleapis/python-aiplatform
MethodNotImplemented: 501 Received http2 header with status: 404
- 主要语言
- 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