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

导入自定义评估至VertexAI模型遇500错误:含confusionMatrix时失败

解决Vertex AI导入自定义分类模型评估时的500内部错误(含confusionMatrix字段)

问题背景

尝试将包含confusionMatrix字段的自定义分类模型评估结果导入Vertex AI时,触发InternalServerError: 500 Internal error encountered,移除该字段则导入成功。

核心原因

500错误的本质是confusionMatrix或关联字段的格式、数据类型不符合Vertex AI的校验要求,常见问题包括:

  • 数值类字段使用字符串类型而非数值类型
  • 引用未定义变量导致字段值无效
  • confusionMatrix结构与标注规格不匹配

修复步骤

1. 修正数据类型错误

Vertex AI要求计数类(如falsePositiveCount、truePositiveCount)和比率类(如falsePositiveRate、recall)字段必须为数值类型(整数或浮点数),不能是字符串。修改代码中的错误写法:

# 错误写法
"falsePositiveCount": "3000",
"falsePositiveRate": "1"
# 正确写法
"falsePositiveCount": 3000,
"falsePositiveRate": 1.0

2. 修复未定义变量

代码中precision字段引用了未定义的d变量,需替换为实际的精度值,或确保d变量在代码中已正确初始化:

# 替换为实际数值(示例)
"precision": 0.8,
# 或确保d已定义(业务场景下的合法变量)
# "precision": d["evaluationReport"]["predictorsPerformance"][0]["accuracy"]

3. 优化confusionMatrix结构(可选)

虽然当前confusionMatrix的行数/列数与annotationSpecs数量匹配,但建议确认:

  • annotationSpecs中的id与模型训练时使用的标签ID完全一致
  • confidenceThreshold优先使用0-1之间的常规值(-0.005虽被允许,但部分环境可能存在兼容问题,可先尝试0.0测试)

4. 更新客户端库

旧版本的google-cloud-aiplatform gapic客户端可能存在confusionMatrix解析bug,执行以下命令更新至最新版本:

pip install --upgrade google-cloud-aiplatform

修正后的完整代码示例

from google.cloud.aiplatform import gapic

# 初始化metrics,移除重复赋值
metrics = {
    "auPrc": 0.92,
    "auRoc": 0.93,
    "logLoss": 0.26
}

metrics["confidenceMetrics"] = [
    {
        "confidenceThreshold": 0.0,
        "confusionMatrix": {
            "annotationSpecs": [
                {"displayName": "less", "id": "0"},
                {"displayName": "more", "id": "1"}
            ],
            "rows": [[1, 2], [3, 4]]
        },
        "f1Score": 0.66,
        "f1ScoreAt1": 0.66,
        "falsePositiveCount": 3000,
        "falsePositiveRate": 1.0,
        "falsePositiveRateAt1": 1.0,
        "precision": 0.8,  # 替换为实际精度值
        "precisionAt1": 0.5,
        "recall": 1.0,
        "recallAt1": 1.0,
        "truePositiveCount": 3000
    }
]

model_eval = gapic.ModelEvaluation(
    display_name="eval",
    metrics_schema_uri="gs://google-cloud-aiplatform/schema/modelevaluation/classification_metrics_1.0.0.yaml",
    metrics=metrics,
)

API_ENDPOINT = f"{REGION}-aiplatform.googleapis.com"
client = gapic.ModelServiceClient(client_options={"api_endpoint": API_ENDPOINT})
client.import_model_evaluation(parent=my_model.resource_name, model_evaluation=model_eval)

额外排查建议

如果以上修复仍未解决问题,可通过GCP控制台的Cloud Logging查看具体错误详情:

  1. 进入GCP控制台的Cloud Logging页面
  2. 过滤条件选择resource.type="aiplatform_model"和severity="ERROR"
  3. 查找对应导入请求的日志,获取更具体的错误信息(如字段格式不匹配、权限问题等)

内容的提问来源于stack exchange,提问作者Anas Knefati

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:07:06