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

Vertex AI可解释性中为多输入Functional API模型指定inputTensorName

解决方案

针对多输入模型的解释功能,需为每个输入张量单独定义元数据条目,组成列表传入解释配置,具体步骤如下:

1. 生成多输入元数据列表

遍历所有输入张量名,根据特征类型配置对应元数据:

# 获取所有输入张量名
all_serving_inputs = list(loaded_model.signatures["serving_default"].structured_input_signature[1].keys())

# 为每个输入创建元数据条目
INPUT_METADATA_LIST = []
for input_name in all_serving_inputs:
    if input_name in NUM_COLS:
        # 数值特征元数据
        metadata = {
            "input_tensor_name": input_name,
            "encoding": "BAG_OF_FEATURES",
            "modality": "numeric",
            "index_feature_mapping": [input_name]
        }
    elif input_name in ORD_COLS or input_name in OHE_COLS:
        # 分类特征元数据
        metadata = {
            "input_tensor_name": input_name,
            "encoding": "BAG_OF_FEATURES",
            "modality": "categorical",
            "index_feature_mapping": [input_name]
        }
    INPUT_METADATA_LIST.append(metadata)

2. 配置批量预测的解释参数

在ModelBatchPredictOp中添加explanation_metadata和explanation_parameters,传入多输入元数据列表:

ModelBatchPredictOp(
    project=project_id,
    job_display_name="tensorflow-ex-batch-prediction-job",
    location=project_location,
    model=champion_model.outputs["model"],
    instances_format="csv",
    predictions_format="jsonl",
    gcs_source_uris=gcs_source_uris,
    gcs_destination_output_uri_prefix=gcs_destination_output_uri_prefix,
    machine_type=batch_prediction_machine_type,
    starting_replica_count=batch_prediction_min_replicas,
    max_replica_count=batch_prediction_max_replicas,
    generate_explanation=True,
    # 配置解释元数据
    explanation_metadata={
        "inputs": INPUT_METADATA_LIST,
        "outputs": [{"output_tensor_name": "output"}]  # 匹配模型输出层名称
    },
    # 指定解释算法(以Sampled Shapley为例)
    explanation_parameters={
        "sampled_shapley_attribution": {
            "path_count": 10
        }
    }
)

3. 关键注意事项

  • 每个输入张量必须对应独立的元数据条目,input_tensor_name需严格匹配模型输入层的名称
  • 根据特征类型正确设置modality:数值特征用numeric,分类特征用categorical,确保解释算法正确处理
  • 输出元数据需指定模型的输出张量名,与模型定义中的Dense(1, name="output")保持一致
  • 使用CSV输入格式时,需保证GCS中CSV的列顺序与输入张量名的顺序匹配,或在元数据中明确映射列名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:41:12