core 包

包含 Azure 机器学习管道的核心功能,这些管道是可配置的机器学习工作流。

使用 Azure 机器学习管道,可以创建可重用的机器学习工作流,这些工作流可用作机器学习方案的模板。 此包包含用于 Azure 机器学习管道的核心功能,通常与 steps 包中的类一起使用。

机器学习管道由 PipelineStep 对象的集合表示,可以对这些对象进行排序和并行化,也可以通过步骤之间的显式依赖关系创建这些对象。 管道步骤用于定义 Pipeline 对象,该对象表示要执行的工作流。 可以在 Jupyter Notebook 或其他任何安装了 Azure ML SDK 的 IDE 中创建和使用管道。

Azure 机器学习管道使你能够将工作重心放在机器学习上,而不是基础结构。 若要开始生成管道,请参阅 https://aka.ms/pl-first-pipeline

若要详细了解机器学习管道的优势,以及它与 Azure 提供的其他管道之间的关联,请参阅 Azure 机器学习服务中的机器学习管道是什么?

模块

builder

定义用于生成 Azure 机器学习管道的类。

管道图包含管道步骤 (PipelineStep),在每个步骤中生成或使用的可选管道数据 (PipelineData),以及可选的步骤执行序列 (StepSequence)。

graph

定义用于构造 Azure 机器学习管道图形的类。

使用 PipelineStep(和派生类)、PipelineDataPipelineData 对象时,会为 Pipeline 对象创建 Azure ML 管道图。 在典型用例中,无需直接使用此模块中的类。

管道运行图由模块节点组成,这些节点表示基本单位,如数据源或步骤。 节点可以有输入端口和输出端口,以及关联的参数。 边缘定义图形中两个节点端口之间的关系。

module

包含用于创建和管理 Azure 机器学习管道的可重用计算单元的类。

模块允许在 Pipeline 中创建计算单元。计算单元可以有输入、输出,并依赖于参数和环境配置来运行。 可以对模块进行版本控制,并在不同的 Azure 机器学习管道中使用模块,而 PipelineStep(及其派生的类)则与此不同,它只能在一个管道中使用。

模块设计为在多个管道中重用,并且可以演进,使特定的计算逻辑适应不同的用例。 可以在快速迭代中使用管道中的某个步骤来改进算法,一旦实现目标,该算法通常会作为模块发布,以便可供重用。

module_step_base

包含使用 Module 的版本向管道添加步骤的功能。

pipeline

定义用于创建可重用 Azure 机器学习工作流的类。

pipeline_draft

定义用于管理可变管道的类。

pipeline_endpoint

定义用于管理管道的类,包括版本控制和终结点。

pipeline_output_dataset

包含用于将中间输出提升为 Azure 机器学习数据集的功能。

默认情况下,管道中的中间数据(输出)不会成为 Azure 机器学习数据集。 若要将中间数据提升为 Azure 机器学习数据集,请调用 PipelineData 类的 as_dataset 方法以返回 PipelineOutputFileDataset 对象。 然后,可以从 PipelineOutputFileDataset 对象创建一个 PipelineOutputTabularDataset 对象。

run

为提交的管道定义类,包括用于检查状态和检索运行详细信息的类。

schedule

定义用于计划 Azure 机器学习管道提交的类。

InputPortBinding

定义从源到管道步骤输入的绑定。

InputPortBinding 可用作步骤的输入。 源可以是 PipelineDataPortDataReferenceDataReferencePipelineDatasetOutputPortBinding

如果步骤输入的名称应不同于绑定对象的名称(即避免输入/输出名称重复,或者步骤脚本需要输入具有特定名称),则 InputPortBinding 可用于指定步骤输入的名称。 它还可用于指定 PythonScriptStep 输入的 bind_mode。

初始化 InputPortBinding。

Module

表示 Azure 机器学习管道中使用的计算单元。

模块是在计算目标上运行的文件集合和接口的说明。 文件集合可以是脚本、二进制文件或任何其他需要在计算目标上执行的文件。 模块接口描述输入、输出和参数定义。 模块不会将模块接口绑定到特定的值或数据。 一个模块有一个关联的快照,该快照捕获针对该模块定义的文件集合。

初始化模块。

ModuleVersion

表示 Module 中的实际计算单位。

不应直接使用此类。 请改为使用 Module 类的发布方法之一。

初始化 ModuleVersion。

ModuleVersionDescriptor

定义 ModuleVersion 的版本和 ID。

初始化 ModuleVersionDescriptor。

OutputPortBinding

定义管道步骤的命名输出。

OutputPortBinding 可用于指定将由某个步骤生成的数据类型以及数据的生成方式。 它可以与 InputPortBinding 一起使用,指定步骤输出是另一个步骤的必需输入。

初始化 OutputPortBinding。

Pipeline

表示可以作为可重用 Azure 机器学习工作流执行的步骤集合。

使用管道创建和管理将各个机器学习阶段拼接在一起的工作流。 每个机器学习阶段(例如数据准备和模型训练)可以由管道中的一个或多个步骤组成。

有关为何以及何时使用管道的概述,请参阅 https://aka.ms/pl-concept

有关构造管道的概述,请参阅 https://aka.ms/pl-first-pipeline

初始化管道。

PipelineData

表示 Azure 机器学习管道中的中间数据。

管道中使用的数据可以通过一个步骤生成,并在另一个步骤中通过提供 PipelineData 对象作为一个步骤的输出以及一个或多个后续步骤的输入来使用。

请注意:如果要使用管道数据,请确保使用的目录已存在。

下面是一个可确保目录已存在的 Python 示例,其中假设你在一个管道步骤中有一个名为 output_folder 的输出端口,你想要将一些数据写入此文件夹中的相对路径。


   import os
   os.makedirs(args.output_folder, exist_ok=True)
   f = open(args.output_folder + '/relative_path/file_name', 'w+')

PipelineData 使用 DataReference 基础,不再建议使用这种方法进行数据访问和传递,请改为使用 OutputFileDatasetConfig,可在此处找到示例:使用 OutputFileDatasetConfig 的管道

初始化 PipelineData。

PipelineDataset

充当数据集和管道的适配器。

注意

此类已弃用。 若要了解如何在管道中使用数据集,请参阅 https://aka.ms/pipeline-with-dataset

这是内部类。 不应直接创建此类,而应在 Dataset 或 OutputDatasetConfig 类上调用 as_* 实例方法。

充当数据集和管道的适配器。

这是内部类。 不应直接创建此类,而应在 Dataset 或 OutputDatasetConfig 类上调用 as_* 实例方法。

PipelineDraft

表示可用于提交运行和创建已发布管道的可变管道。

使用 PipelineDraft 在 Pipelines 上进行迭代。 可以从头开始创建 PipelineDraft、从另一个 PipelineDraft 创建 PipelineDraft,或从现有管道创建 PipelineDraft:PipelinePublishedPipelinePipelineRun

初始化 PipelineDraft。

PipelineEndpoint

表示可以从唯一终结点 URL 触发的 Pipeline 工作流。

PipelineEndpoints 可用于创建 PublishedPipeline 的新版本,同时维护相同的终结点。 PipelineEndpoints 在工作区中的命名是唯一的。

使用 PipelineEndpoint 对象的终结点属性,可以使用 REST 调用从外部应用程序触发新的管道运行。 有关如何在调用 REST 终结点时进行身份验证的信息,请参阅 https://aka.ms/pl-restep-auth

有关创建和运行机器学习管道的信息,请参阅 https://aka.ms/pl-first-pipeline

初始化 PipelineEndpoint。

PipelineParameter

定义管道执行中的参数。

使用 PipelineParameters 构造通用管道(可在以后使用不同参数值重新提交)。

初始化管道参数。

PipelineRun

表示 Pipeline 的运行。

此类可用于在提交管道运行后管理、检查状态和检索运行详细信息。 使用 get_steps 检索由管道运行创建的 StepRun 对象。 其他用途包括检索与管道运行关联的 Graph 对象、提取管道运行的状态,以及等待运行完成。

初始化管道运行。

PipelineStep

表示 Azure 机器学习管道中的执行步骤。

管道是通过多个管道步骤构造的,这些步骤是管道中的不同计算单元。 每个步骤都可以独立运行,并使用独立的计算资源。 每个步骤通常都有自己的命名输入、输出和参数。

PipelineStep 是一种基类,其他为常见场景设计的内置步骤类继承自该基类(如 PythonScriptStepDataTransferStepHyperDriveStep)。

有关管道和 PipelineSteps 之间关系的概述,请参阅什么是 ML 管道

初始化 PipelineStep。

PortDataReference

为与已完成的 StepRun 的输出关联的数据进行建模。

PortDataReference 对象可用于下载由 StepRun 生成的输出数据。 它还可以用作未来管道中的步骤输入。

初始化 PortDataReference。

PublishedPipeline

表示在没有构造管道的 Python 代码的情况下提交的管道。

此外,PublishedPipeline 可用于重新提交具有不同的 PipelineParameter 值和输入的 Pipeline

初始化 PublishedPipeline。

:p aram 终结点 用于提交此管道运行的管道的 REST 终结点 URL。 :type endpoint: str :p aram total_run_steps:此管道中的步骤数:type total_run_steps:int :p aram 工作区:已发布管道的工作区。 :type workspace:azureml.core.Workspace :p aram continue_on_step_failure:是否继续执行 PipelineRun 中的其他步骤

如果步骤失败,则默认值为 false。

Schedule

定义要提交管道的计划。

发布管道后,可以使用“计划”按指定的时间间隔或在检测到 Blob 存储位置的更改时提交管道。

初始化计划。

ScheduleRecurrence

定义管道 Schedule 的频率、间隔和开始时间。

ScheduleRecurrence 还允许指定时区以及重复周期的小时数、分钟数或周数。

初始化计划定期。

它还允许指定时区以及重复周期的小时、分钟或周天数。

StepRun

Pipeline 中步骤的运行。

提交父管道运行并且管道已提交步骤运行后,此类可用于管理、检查状态和检索运行详细信息。

初始化 StepRun。

StepRunOutput

表示管道中由 StepRun 创建的输出。

StepRunOutput 可用于访问由步骤创建的 PortDataReference

初始化 StepRunOutput。

StepSequence

表示 Pipeline 中的步骤列表以及执行这些步骤的顺序。

初始化管道时,请使用 StepSequence 创建一个工作流,其中包含按特定顺序运行的步骤。

初始化 StepSequence。

TrainingOutput

定义某些 PipelineSteps 的专用输出,以在管道中使用。

TrainingOutput 使自动化机器学习指标或模型作为步骤输出可用,供 Azure 机器学习管道中的另一个步骤使用。 可与 AutoMLStepHyperDriveStep 一起使用。

初始化 TrainingOutput。

param model_file:要包含在输出中的特定模型文件。 仅适用于 HyperDriveStep

枚举

TimeZone

枚举定期 Schedule 的有效时区。