在Vertex AI部署目标检测模型后,能否通过API批量上传测试图片?
Vertex AI AutoML目标检测模型批量测试方案
「DEPLOY AND TEST」模块的批量上传限制
Vertex AI的「DEPLOY AND TEST」可视化界面仅支持单次上传单张图片测试,无内置批量上传功能。
批量测试的自动化实现:API调用方案
针对拆分后的图片,完全可以通过Vertex AI的预测API实现批量测试的自动化流程,具体操作如下:
1. 确认模型已部署为在线预测端点
确保你的AutoML目标检测模型已完成在线端点部署(若未部署,在模型页面选择「DEPLOY TO ENDPOINT」完成部署流程)。
2. 准备批量测试的图片资源
将拆分后的所有图片整理至本地目录,确保图片格式与训练时一致(如JPG、PNG等)。
3. 用Python调用预测API完成批量推理
基于Google Cloud官方SDK google-cloud-aiplatform,可快速实现批量推理,代码示例如下:
from google.cloud import aiplatform import glob # 初始化Vertex AI客户端 aiplatform.init(project="你的项目ID", location="你的部署区域(如us-central1)") # 获取已部署的预测端点 endpoint = aiplatform.Endpoint("你的端点资源ID") # 读取本地目录下所有目标图片路径 image_paths = glob.glob("/本地图片存储目录/*.jpg") # 根据实际图片格式调整后缀 # 构造批量预测请求数据 instances = [] for img_path in image_paths: with open(img_path, "rb") as img_file: encoded_img = img_file.read() instances.append({"image_bytes": {"b64": encoded_img.decode("utf-8")}}) # 发送批量预测请求并获取结果 response = endpoint.predict(instances=instances) # 遍历处理每一张图片的预测结果 for idx, result in enumerate(response.predictions): print(f"图片 {image_paths[idx]} 预测结果:") print(result) # 可根据需求将结果写入文件或数据库
4. 关键注意事项
- 单次批量请求的实例数量存在上限(默认最多1000个实例,具体以Vertex AI配额限制为准),图片数量过多时可分批次发送请求。
- 确保执行代码的服务账号拥有
aiplatform.endpoints.predict权限,避免权限报错。 - 图片需以Base64格式编码,上述代码已包含该处理逻辑。
替代方案:GCS批量预测作业
若拆分后的图片存储在Google Cloud Storage(GCS)中,可直接创建批量预测作业实现自动化:
- 将所有图片上传至GCS指定路径;
- 在Vertex AI控制台的端点页面,选择「Create batch prediction job」;
- 配置GCS输入路径(图片所在位置)和输出路径(预测结果保存位置),启动作业后即可自动完成批量推理。
内容的提问来源于stack exchange,提问作者Nitya Rakhe
相关产品推荐
相关产品推荐

