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

Azure ML中AutoMLPipelineBuilder批量推理(预测)阶段报错求助

Azure ML 批量推理流水线报错解决方案

我在Azure ML中搭建的训练流水线运行正常,但批量推理阶段始终报错。相关代码如下:

训练阶段代码

training_pipeline_steps = AutoMLPipelineBuilder.get_many_models_train_steps(
    experiment=experiment,
    train_data=full_dataset,
    compute_target=compute_target,
    node_count=1,
    process_count_per_node=4,
    train_pipeline_parameters=hts_parameters,
    run_invocation_timeout=3900,
)

批量推理阶段代码

from azureml.train.automl.runtime._hts.hts_parameters import HTSInferenceParameters

inference_parameters = HTSInferenceParameters(
    hierarchy_forecast_level="Material",  # 该设置针对当前数据集,需根据你的数据集调整
    allocation_method="proportions_of_historical_average",
)

steps = AutoMLPipelineBuilder.get_many_models_batch_inference_steps(
    experiment=experiment,
    #inference_data=registered_inference,
    inference_data = full_dataset,
    compute_target=compute_target,
    inference_pipeline_parameters=inference_parameters,
    node_count=1,
    process_count_per_node=4,
    arguments=["--forecast_quantiles", 0.1, 0.9],
)

错误详情

推理阶段报错提示:The hierarchy forecast level 'Material' is not present in the inference data.


排查与修复方案

  • 核对推理数据列名
    确认推理使用的full_dataset中存在大小写完全匹配的Material列。可通过full_dataset.take(1).to_pandas_dataframe()导出数据样例,直接查看列名与结构。

  • 对齐训练与推理数据的层级结构
    推理数据必须包含训练时hts_parameters定义的所有层级列,且hierarchy_forecast_level指定的Material必须是层级结构中的有效节点,不能存在拼写或层级逻辑错误。

  • 使用正确的推理数据集
    建议启用注释中的registered_inference数据集,训练全量数据可能包含标签列、训练专属字段,会导致推理阶段数据结构不兼容。

  • 检查参数配置
    确认HTSInferenceParameters中的hierarchy_forecast_level值,与训练阶段hts_parameters内定义的层级节点名称完全一致,避免拼写错误。

  • 查看详细运行日志
    登录Azure ML工作室,打开批量推理流水线的运行记录,查看报错步骤的完整日志,排查是否存在数据格式、权限或其他隐藏问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:05:24