AutoMLStep 类

创建封装自动化 ML 运行的 Azure ML Pipeline 步骤。

有关使用 AutoMLStep 的示例,请参阅笔记本 https://aka.ms/pl-automl

初始化 AutoMLStep。

构造函数

AutoMLStep(name, automl_config, inputs=None, outputs=None, script_repl_params=None, allow_reuse=True, version=None, hash_paths=None, enable_default_model_output=True, enable_default_metrics_output=True, **kwargs)

参数

名称 说明
name
必需
str

步骤的名称。

automl_config
必需

一个 AutoMLConfig 对象,用于定义此 AutoML 运行的配置。

inputs

输入端口绑定的列表。

默认值: None
outputs

输出端口绑定的列表。

默认值: None
script_repl_params

要在脚本中替换的可选参数,例如 {'param1': 'value1', 'param2': 'value2'}。

默认值: None
allow_reuse

指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。

默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。

默认值: True
version
str

要分配给步骤的版本。

默认值: None
hash_paths

荒废的。 检查管道步骤内容更改时哈希的路径列表。

默认情况下,参数下pathAutoMLConfig的所有文件都经过哈希处理,但 .amlignore 或 .gitignore 下path列出的文件除外。 如果未检测到任何更改,管道将重复使用上一次运行中的步骤内容。

默认值: None
enable_default_model_output

指示是否将最佳模型添加为默认输出。 这可用于在使用类完成 AutoMLStepRun 运行后检索最佳模型。 请注意,如果不需要默认模型输出,建议将此参数设置为 False

默认值: True
enable_default_metrics_output

指示是否将所有子运行指标添加为默认输出。 这可用于使用类完成 AutoMLStepRun 运行后检索子运行指标。 请注意,如果不需要默认指标输出,建议将此参数设置为 False

默认值: True
name
必需
str

步骤的名称。

automl_config
必需

一个 AutoMLConfig,用于定义此 AutoML 运行的配置。

inputs
必需

输入端口绑定的列表。

outputs
必需

输出端口绑定的列表。

script_repl_params
必需

要在脚本中替换的可选参数,例如 {'param1': 'value1', 'param2': 'value2'}。

script_repl_params
必需

要替换脚本中的可选参数。

allow_reuse
必需

指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。

默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。

version
必需
str

要分配给步骤的版本。

hash_paths
必需

荒废的。 检查管道步骤内容更改时哈希的路径列表。

默认情况下,参数下pathAutoMLConfig的所有文件都经过哈希处理,但 .amlignore 或 .gitignore 下path列出的文件除外。 如果未检测到任何更改,管道将重复使用上一次运行中的步骤内容。

enable_default_model_output
必需

指示是否将最佳模型添加为默认输出。 这可用于在使用类完成 AutoMLStepRun 运行后检索最佳模型。 请注意,如果不需要默认模型输出,建议将此参数设置为 False

enable_default_metrics_output
必需

指示是否将所有子运行指标添加为默认输出。 这可用于使用类完成 AutoMLStepRun 运行后检索子运行指标。 请注意,如果不需要默认指标输出,建议将此参数设置为 False

注解

借助 AutoMLStep 类,可以在 Azure 机器学习管道中运行自动化 ML 工作流。 管道为自动化 ML 工作流提供可重复性、无人参与运行、版本管理和跟踪以及模块化等优势。 有关更多信息,请参阅什么是 Azure 机器学习管道?

当自动化 ML 工作流位于管道中时,可以计划管道以基于时间的计划或基于更改的计划运行。 基于时间的计划对于常规任务(如监视数据偏移)非常有用,而基于更改的计划对于不规则或不可预知的更改(例如数据更改时)非常有用。 例如,如果数据发生更改,然后在运行完成后注册模型的新版本,计划可能会轮询要上传数据的 Blob 存储,然后再次运行管道。 有关详细信息,请参阅 计划机器学习管道 并从 逻辑应用触发机器学习管道的运行

以下示例演示如何创建 AutoMLStep。


   automl_step = AutoMLStep(
       name='automl_module',
       automl_config=automl_config,
       outputs=[metrics_data, model_data],
       allow_reuse=True)

完整示例可从 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-with-automated-machine-learning-step.ipynb

以下示例演示如何在 . 中使用 PipelineAutoMLStep 对象。


   from azureml.pipeline.core import Pipeline
   pipeline = Pipeline(
       description="pipeline_with_automlstep",
       workspace=ws,
       steps=[automl_step])

完整示例可从 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-with-automated-machine-learning-step.ipynb

上面的示例显示了管道中的一个步骤。 但是,在实际自动化 ML 工作流中使用 AutoMLStep 时,至少有一个管道步骤在 AutoMLStep 之前执行数据准备,在注册模型后再执行另一个管道步骤。 有关此类工作流的示例,请参阅笔记本 https://aka.ms/automl-retrain-pipeline

若要从管道运行中管理、检查状态和获取运行详细信息,请使用 AutoMLStepRun 类。

有关 Azure 中的自动化机器学习的详细信息,请参阅文章 “什么是自动化机器学习?”。 有关在不使用管道的情况下设置自动化 ML 试验的详细信息,请参阅文章 :在 Python 中配置自动化 ML 试验

方法

create_node

从此 AutoML 步骤创建节点,并将其添加到给定的图。

此方法不用于直接使用。 使用此步骤实例化管道时,Azure ML 会自动传递通过此方法所需的参数,以便可以将该步骤添加到表示工作流的管道图中。

create_node

从此 AutoML 步骤创建节点,并将其添加到给定的图。

此方法不用于直接使用。 使用此步骤实例化管道时,Azure ML 会自动传递通过此方法所需的参数,以便可以将该步骤添加到表示工作流的管道图中。

create_node(graph, default_datastore, context)

参数

名称 说明
graph
必需

要向其添加节点的图形对象。

default_datastore
必需

默认数据存储。

context
必需
<xref:azureml.pipeline.core._GraphContext>

图形上下文。

返回

类型 说明

创建的节点。

属性

AUTOML_CONFIG_PARAM_NAME

AUTOML_CONFIG_PARAM_NAME = 'AutoMLConfig'

DEFAULT_METRIC_PREFIX

DEFAULT_METRIC_PREFIX = 'default_metrics_'

DEFAULT_MODEL_PREFIX

DEFAULT_MODEL_PREFIX = 'default_model_'