You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vertex AI自定义训练模型推理API调用失败求助

针对Vertex AI自定义模型推理失败的解决建议

问题1:AI Platform无法创建模型新版本

斯坦福的教程基于旧版AI Platform服务,目前该服务已整合至Vertex AI,操作路径需调整:

  • 登录Vertex AI控制台,进入模型页面找到已上传的模型
  • 确认模型格式符合Vertex AI要求(如TensorFlow SavedModel、PyTorch TorchScript等)
  • 检查账号权限:需拥有Vertex AI Admin或Model Admin角色,确保具备版本创建权限
  • 若仍无操作选项,尝试直接通过Vertex AI入口重新上传模型

问题2:图片Payload超过1.5MB限制

将图片转为float32列表后,JSON序列化会大幅膨胀数据体积(即使原图片仅49KB),修复方案:

  • 改用Base64编码传递图片内容,避免数值列表的冗余数据
  • 修正代码结构,确保instances参数为列表格式(模型推理接口要求批量输入结构):
    import base64
    from google.cloud import aiplatform
    
    IMAGE_PATH = "test-image.jpg"
    with open(IMAGE_PATH, "rb") as f:
        encoded_content = base64.b64encode(f.read()).decode("utf-8")
    
    # 需根据模型实际输入键名调整,示例假设输入键为"image"
    instances = [{"image": {"b64": encoded_content}}]
    endpoint.predict(instances=instances).predictions
    
  • 额外检查:确认图片未被意外缩放(如Image.open后是否存在隐式尺寸调整)

问题3:JSON格式错误(Invalid argument: does not have named input: instances)

原代码的instances结构不符合Vertex AI推理接口规范,正确格式要求:

  • instances需为列表类型,列表中每个元素是对应模型输入的键值对字典
  • 若需传递额外参数(如key),应放在parameters参数中,而非instances字典内
    修正后的代码示例:
import base64
from google.cloud import aiplatform

with open("test-image.jpg", "rb") as f:
    image = f.read()
encoded_content = base64.b64encode(image).decode("utf-8")

# 正确的输入结构:instances是输入列表,parameters存放额外参数
instances = [{"image": {"b64": encoded_content}}]
response = endpoint.predict(
    instances=instances,
    parameters={"key": "0"}
)
print(response.predictions)

通用调试步骤

  1. 验证模型输入签名:使用saved_model_cli show --dir <你的模型目录> --all(TensorFlow模型)查看输入键名、数据类型,确保代码中的输入键与签名完全匹配
  2. 控制台测试推理:在Vertex AI控制台的模型详情页,使用「测试和验证」功能直接上传图片或输入JSON,确认模型本身可正常推理,排除代码端问题
  3. 查看详细日志:进入Vertex AI的预测日志页面(而非通用日志),筛选具体推理请求的日志条目,通常会包含更详细的输入不匹配或格式错误信息
  4. 确认端点配置:检查端点是否关联了正确的模型版本,且模型版本的部署状态为「活跃」

内容的提问来源于stack exchange,提问作者Jinmo Chong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:07:32