CLI (v2) 组件作业 YAML 架构

源 JSON 架构可在 https://azuremlschemas.azureedge.net/latest/commandJob.schema.json 中找到。

重要

此功能目前处于公开预览状态。 此预览版在提供时没有附带服务级别协议,不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅适用于 Azure 预览版的补充使用条款

注意

本文档中详细介绍的 YAML 语法基于最新版本的 ML CLI v2 扩展的 JSON 架构。 此语法必定仅适用于最新版本的 ML CLI v2 扩展。 可以在 https://azuremlschemasprod.azureedge.net/ 上查找早期扩展版本的架构。

YAML 语法

密钥 类型 说明 允许的值 默认值
$schema 字符串 YAML 架构。 如果使用 Azure 机器学习 VS Code 扩展来创作 YAML 文件,则可通过在文件顶部包含 $schema 来调用架构和资源完成操作。
type const 作业类型。 component
component object 必需。 要在作业中调用并运行的组件。 此值可以是对工作区中现有版本受控组件的引用、内联组件规范或单独组件 YAML 规范文件的本地路径。

若要引用现有组件,请使用 azureml:<component-name>:<component-version> 语法。

若要以内联方式或在单独的 YAML 文件中定义组件,请遵循命令组件架构。 排除 nameversion 属性,因为它们不适用于内联组件规范。
compute 字符串 要在其上执行作业的计算目标的名称。 此值应是通过 azureml:<compute-name> 语法对工作区中现有计算的引用。 如果省略,Azure ML 将使用管道作业的 compute 属性中定义的计算。
inputs object 作业的输入字典。 键对应于组件输入之一的名称,值是运行时输入值。

可以在 command 中使用 ${{ inputs.<input_name> }} 表达式引用输入。
inputs.<input_name> 数字、整数、布尔值、字符串或对象 文本值之一(类型为数字、整数、布尔值或字符串)、JobInputUriJobInputDataset。 还可以通过 jobs.<COMPONENT_NAME>.outputs.<OUTPUT_NAME> 从同一管道中的另一个作业引用输出
outputs object 作业的输出配置字典。 键对应于组件输出之一的名称所对应的名称,值是运行时输出配置。

可以在 command 中使用 ${{ outputs.<output_name> }} 表达式引用输出。
outputs.<output_name> object 可以指定可选的 mode 或将对象留空。 对于 outputs 字典中指定的每个命名输出,Azure ML 将基于以下模板化路径自动生成输出位置:{default-datastore}/azureml/{job-name}/{output-name}/。 允许用户在稍后的发布中提供自定义位置。
outputs.<output_name>.mode 字符串 输出文件传送到目标存储的模式。 对于读写装载模式,输出目录是装载的目录。 对于上传模式,写入到输出目录的文件将在作业结束时上传。 rw_mountupload rw_mount
overrides object 当组件在作业中运行时,可以使用不同的运行时设置替代组件的某些设置。 对于命令组件,可以通过 overrides.resourcesoverrides.distribution 替代 resourcesdistribution 属性。

作业输入

JobInputUri

密钥 类型 说明 允许的值 默认值
file 字符串 要用作输入的单个文件的 URI。 支持的 URI 类型为 azuremlhttpswasbsabfssadl。 有关如何使用 URI 格式的详细信息,请参阅azureml核心 YAML 语法。 必须指定 filefolder
folder 字符串 要用作输入的文件夹的 URI。 支持的 URI 类型为 azuremlwasbsabfssadl。 有关如何使用 URI 格式的详细信息,请参阅azureml核心 YAML 语法。 必须指定 filefolder
mode 字符串 将数据传送到计算目标的模式。 对于只读装载和读写装载,数据将用作装载路径。 文件夹将装载为文件夹,文件将装载为文件。 对于下载模式,数据将用作下载路径。 ro_mountrw_mountdownload ro_mount

JobInputDataset

密钥 类型 说明 允许的值 默认值
dataset 字符串或对象 必需。 要用作输入的数据集。 此值可以是对工作区中现有版本受控数据集的引用,也可以是对内联数据集规范的引用。

若要引用现有数据集,请使用 azureml:<dataset-name>:<dataset-version> 语法。

若要以内联方式定义数据集,请遵循数据集架构。 排除 nameversion 属性,因为内联数据集不支持这些属性。
mode 字符串 将数据集传送到计算目标的模式。 对于只读装载,数据集将用作装载路径。 文件夹将装载为文件夹,文件将装载为父文件夹。 对于下载模式,数据集将用作下载路径。 ro_mountdownload ro_mount

备注

组件作业可以在管道作业中运行。 az ml job 命令可用于管理 Azure 机器学习管道作业。

组件作业目前不能作为独立的作业运行,只能在管道中运行。