AutoMLStep 类
创建用于封装自动化机器学习运行的 Azure 机器学习机器学习管道步骤。
有关使用 AutoMLStep 的示例,请参阅笔记本 https://aka.ms/pl-automl。
初始化 AutoMLStep。
- 继承
-
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
|
已弃用。 检查对管道步骤内容所做的更改时要哈希处理的路径列表。 默认情况下,对 AutoMLConfig 中 默认值: None
|
enable_default_model_output
|
指示是否将最佳模型添加为默认输出。 这可用于在使用 AutoMLStepRun 类完成运行后检索最佳模型。
请注意,如果不需要默认模型输出,建议将此参数设置为 默认值: True
|
enable_default_metrics_output
|
指示是否将所有子运行指标添加为默认输出。 这可用于在运行完成后使用 AutoMLStepRun 类检索子运行指标。
请注意,如果不需要默认指标输出,建议将此参数设置为 默认值: True
|
name
必需
|
步骤的名称。 |
automl_config
必需
|
定义此 AutoML 运行的配置的 AutoMLConfig。 |
inputs
必需
|
输入端口绑定的列表。 |
outputs
必需
|
输出端口绑定的列表。 |
script_repl_params
必需
|
脚本中要替换的可选参数,例如 {'param1': 'value1', 'param2': 'value2'}。 |
script_repl_params
必需
|
脚本中要替换的可选参数。 |
allow_reuse
必需
|
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。 |
version
必需
|
要分配给步骤的版本。 |
hash_paths
必需
|
已弃用。 检查对管道步骤内容所做的更改时要哈希处理的路径列表。 默认情况下,对 AutoMLConfig 中 |
enable_default_model_output
必需
|
指示是否将最佳模型添加为默认输出。 这可用于在使用 AutoMLStepRun 类完成运行后检索最佳模型。
请注意,如果不需要默认模型输出,建议将此参数设置为 |
enable_default_metrics_output
必需
|
指示是否将所有子运行指标添加为默认输出。 这可用于在运行完成后使用 AutoMLStepRun 类检索子运行指标。
请注意,如果不需要默认指标输出,建议将此参数设置为 |
注解
使用 AutoMLStep 类,可以在 Azure 机器学习管道中运行自动化机器学习工作流。 Pipelines 自动化机器学习工作流提供可重复性、无人参与运行、版本控制与跟踪以及模块化等优势。 有关详细信息,请参阅什么是 Azure 机器学习管道。
当自动化机器学习工作流位于管道中时,可以将管道计划为按基于时间或更改的计划运行。 基于时间的计划适用于监视数据偏移等日常任务,而基于更改的计划适用于不规则或不可预知的更改,例如数据更改时。 例如,计划可能会轮询要上传数据的 Blob 存储,然后在数据发生更改时再次运行管道,然后在运行完成后注册模型的新版本。 有关详细信息,请参阅计划机器学习管道和从逻辑应用触发机器学习管道运行。
以下示例说明了如何创建 AutoMLStep。
automl_step = AutoMLStep(
name='automl_module',
automl_config=automl_config,
outputs=[metrics_data, model_data],
allow_reuse=True)
下面的示例演示了如何在 Pipeline 中使用 AutoMLStep 对象。
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(
description="pipeline_with_automlstep",
workspace=ws,
steps=[automl_step])
上面的示例显示了管道中的一个步骤。 但是,在真实的自动化机器学习工作流中使用 AutoMLStep 时,将至少有一个管道步骤在 AutoMLStep 之前执行数据准备,在注册模型后执行另一个管道步骤。 有关此类工作流的示例,请参阅笔记本 https://aka.ms/automl-retrain-pipeline。
若要管理、检查状态以及从管道运行获取运行详细信息,请使用 AutoMLStepRun 类。
有关 Azure 中自动化机器学习的详细信息,请参阅什么是自动化机器学习?一文。 有关在不使用管道的情况下设置自动化机器学习试验的信息,请参阅在 Python 中配置自动化机器学习试验一文。
方法
create_node |
从此 AutoML 步骤创建节点并将其添加到给定的关系图中。 此方法不能直接使用。 通过此步骤实例化管道时,Azure 机器学习会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图形中。 |
create_node
从此 AutoML 步骤创建节点并将其添加到给定的关系图中。
此方法不能直接使用。 通过此步骤实例化管道时,Azure 机器学习会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图形中。
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_'