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
必需
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

已弃用。 检查对管道步骤内容所做的更改时要哈希处理的路径列表。

默认情况下,对 AutoMLConfigpath 参数下的所有文件进行哈希处理,path 下 .amlignore 或 .gitignore 中列出的文件除外。 如果未检测到更改,则管道将重用前一运行中的步骤内容。

默认值: None
enable_default_model_output

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

默认值: True
enable_default_metrics_output

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

默认值: True
name
必需
str

步骤的名称。

automl_config
必需

定义此 AutoML 运行的配置的 AutoMLConfig。

inputs
必需

输入端口绑定的列表。

outputs
必需

输出端口绑定的列表。

script_repl_params
必需

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

script_repl_params
必需

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

allow_reuse
必需

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

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

version
必需
str

要分配给步骤的版本。

hash_paths
必需

已弃用。 检查对管道步骤内容所做的更改时要哈希处理的路径列表。

默认情况下,对 AutoMLConfigpath 参数下的所有文件进行哈希处理,path 下 .amlignore 或 .gitignore 中列出的文件除外。 如果未检测到更改,则管道将重用前一运行中的步骤内容。

enable_default_model_output
必需

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

enable_default_metrics_output
必需

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

注解

使用 AutoMLStep 类,可以在 Azure 机器学习管道中运行自动化机器学习工作流。 Pipelines 自动化机器学习工作流提供可重复性、无人参与运行、版本控制与跟踪以及模块化等优势。 有关详细信息,请参阅什么是 Azure 机器学习管道

当自动化机器学习工作流位于管道中时,可以将管道计划为按基于时间或更改的计划运行。 基于时间的计划适用于监视数据偏移等日常任务,而基于更改的计划适用于不规则或不可预知的更改,例如数据更改时。 例如,计划可能会轮询要上传数据的 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 获取

下面的示例演示了如何在 Pipeline 中使用 AutoMLStep 对象。


   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 获取

上面的示例显示了管道中的一个步骤。 但是,在真实的自动化机器学习工作流中使用 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_'