如何在 AzureML Python SDK 中将 PipelineParameter 传递到 AutoMLStep
Posted
技术标签:
【中文标题】如何在 AzureML Python SDK 中将 PipelineParameter 传递到 AutoMLStep【英文标题】:How to pass PipelineParameter into AutoMLStep in AzureML Python SDK 【发布时间】:2020-09-23 03:13:37 【问题描述】:我正在使用带有 AutoMLStep 的 AzureML SDK 管道。如何将 PipelineParameter 添加到 AutoMLStep 配置中?我想用它来定义 max_horizon。 它应该与
passthru_automl_config=False
但我收到错误
消息:max_horizon 的值不受支持。 max_horizon 必须是整数或“自动”
max_horizon = PipelineParameter(name='max_horizon', default_value=30)
automl_settings =
"iteration_timeout_minutes" : 60
"grain_column_names": ["COUNTRY_CODE"],
"time_column_name": "DATE"
automl_config = AutoMLConfig(task='forecasting',
path = "./src",
primary_metric=primary_metric,
iterations=iterations,
max_concurrent_iterations=max_concurrent_iterations,
training_data = train_data,
label_column_name = label,
n_cross_validations=5,
compute_target = compute_target,
max_horizon= max_horizon,
**automl_settings)
trainWithAutomlStep = AutoMLStep(name="experiment_name",
automl_config=automl_config,
passthru_automl_config=False,
outputs=[metrics_data, model_data],
allow_reuse=True)
【问题讨论】:
对了,你的代码中有一个类型:max_horizon: max_horizon
应该是max_horizon = max_horizon
已修复。谢谢。
【参考方案1】:
您在这里遇到了类型检查问题。 PipelineParameter
不允许用于 max_horizon
。
作为替代方案:您为什么不争取一个简单的python_script_step
并使用 PipelineParameter 作为输入。然后在 Python-Step 文件中定义 AutoML 例程。这样一来,一切尽在掌握...
【讨论】:
根据文档,看起来 passthru_automl_config 应该能够处理 PipelineParameter。如果不是,那就有点误导了。 -1 您无法在 python_script_step 中使用 AutoML。见documentation。 请具体说明文档。我没有找到你提到的这个通行证。 在这种情况下,我希望 azureml-sdk 的代码在 GitHub 上...... 我的猜测是 AutMLStep 只是 Hyperdrive (docs.microsoft.com/en-us/python/api/azureml-train-core/…) 的包装器,带有一些用于 Jupyter Notebook 小部件的自定义输出。 Here 是 passthru_automl_config 的文档。通过这个文档,我认为它应该与 PipelineParameter 一起使用。 AutoML 步骤更像是一个用于 AutoML 运行的 python 管道适配器,其中 HPT 与其他技术(如特征选择、特征化等)一起使用。【参考方案2】:这是来自微软的回复:
PipelineParameter 目前不支持与 AutoMLStep 内的 AutoMLConfig 参数一起使用。
然后,将 PipelineParameter 与 AutoMLConfig 将在 PythonScriptStep 中使用 AutoML,这是一个 使用 AutoMLConfig 时的类似用法/方法 管道中的 ParallelRunConfig(不使用 AutoMLStep),例如 “许多模型”解决方案加速器可以。
【讨论】:
这是反洗钱产品组的直接回应。以上是关于如何在 AzureML Python SDK 中将 PipelineParameter 传递到 AutoMLStep的主要内容,如果未能解决你的问题,请参考以下文章
R 的 Azure 机器学习集成:“azureml”模块是不是应该具有“核心”属性?
如何在 iphone sdk 中将 NSArray/NSMutableArray 转换为 NSFetchedResultsController?