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
必需
|
步骤的名称。 |
automl_config
必需
|
一个 AutoMLConfig 对象,用于定义此 AutoML 运行的配置。 |
inputs
|
输入端口绑定的列表。 默认值: None
|
outputs
|
输出端口绑定的列表。 默认值: None
|
script_repl_params
|
要在脚本中替换的可选参数,例如 {'param1': 'value1', 'param2': 'value2'}。 默认值: None
|
allow_reuse
|
指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。 默认值: True
|
version
|
要分配给步骤的版本。 默认值: None
|
hash_paths
|
荒废的。 检查管道步骤内容更改时哈希的路径列表。 默认情况下,参数下 默认值: None
|
enable_default_model_output
|
指示是否将最佳模型添加为默认输出。 这可用于在使用类完成 AutoMLStepRun 运行后检索最佳模型。
请注意,如果不需要默认模型输出,建议将此参数设置为 默认值: True
|
enable_default_metrics_output
|
指示是否将所有子运行指标添加为默认输出。 这可用于使用类完成 AutoMLStepRun 运行后检索子运行指标。
请注意,如果不需要默认指标输出,建议将此参数设置为 默认值: True
|
name
必需
|
步骤的名称。 |
automl_config
必需
|
一个 AutoMLConfig,用于定义此 AutoML 运行的配置。 |
inputs
必需
|
输入端口绑定的列表。 |
outputs
必需
|
输出端口绑定的列表。 |
script_repl_params
必需
|
要在脚本中替换的可选参数,例如 {'param1': 'value1', 'param2': 'value2'}。 |
script_repl_params
必需
|
要替换脚本中的可选参数。 |
allow_reuse
必需
|
指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。 |
version
必需
|
要分配给步骤的版本。 |
hash_paths
必需
|
荒废的。 检查管道步骤内容更改时哈希的路径列表。 默认情况下,参数下 |
enable_default_model_output
必需
|
指示是否将最佳模型添加为默认输出。 这可用于在使用类完成 AutoMLStepRun 运行后检索最佳模型。
请注意,如果不需要默认模型输出,建议将此参数设置为 |
enable_default_metrics_output
必需
|
指示是否将所有子运行指标添加为默认输出。 这可用于使用类完成 AutoMLStepRun 运行后检索子运行指标。
请注意,如果不需要默认指标输出,建议将此参数设置为 |
注解
借助 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)
以下示例演示如何在 . 中使用 PipelineAutoMLStep 对象。
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(
description="pipeline_with_automlstep",
workspace=ws,
steps=[automl_step])
上面的示例显示了管道中的一个步骤。 但是,在实际自动化 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_'