源 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 文件中定义组件,请遵循命令组件架构。 排除 name 和 version 属性,因为它们不适用于内联组件规范。 |
||
compute |
字符串 | 要在其上执行作业的计算目标的名称。 此值应是通过 azureml:<compute-name> 语法对工作区中现有计算的引用。 如果省略,Azure ML 将使用管道作业的 compute 属性中定义的计算。 |
||
inputs |
object | 作业的输入字典。 键对应于组件输入之一的名称,值是运行时输入值。 可以在 command 中使用 ${{ inputs.<input_name> }} 表达式引用输入。 |
||
inputs.<input_name> |
数字、整数、布尔值、字符串或对象 | 文本值之一(类型为数字、整数、布尔值或字符串)、JobInputUri 或 JobInputDataset。 还可以通过 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_mount 、upload |
rw_mount |
overrides |
object | 当组件在作业中运行时,可以使用不同的运行时设置替代组件的某些设置。 对于命令组件,可以通过 overrides.resources 和 overrides.distribution 替代 resources 和 distribution 属性。 |
作业输入
JobInputUri
密钥 | 类型 | 说明 | 允许的值 | 默认值 |
---|---|---|---|---|
file |
字符串 | 要用作输入的单个文件的 URI。 支持的 URI 类型为 azureml 、https 、wasbs 、abfss 、adl 。 有关如何使用 URI 格式的详细信息,请参阅azureml 核心 YAML 语法。 必须指定 file 或 folder 。 |
||
folder |
字符串 | 要用作输入的文件夹的 URI。 支持的 URI 类型为 azureml 、wasbs 、abfss 、adl 。 有关如何使用 URI 格式的详细信息,请参阅azureml 核心 YAML 语法。 必须指定 file 或 folder 。 |
||
mode |
字符串 | 将数据传送到计算目标的模式。 对于只读装载和读写装载,数据将用作装载路径。 文件夹将装载为文件夹,文件将装载为文件。 对于下载模式,数据将用作下载路径。 | ro_mount 、rw_mount 、download |
ro_mount |
JobInputDataset
密钥 | 类型 | 说明 | 允许的值 | 默认值 |
---|---|---|---|---|
dataset |
字符串或对象 | 必需。 要用作输入的数据集。 此值可以是对工作区中现有版本受控数据集的引用,也可以是对内联数据集规范的引用。 若要引用现有数据集,请使用 azureml:<dataset-name>:<dataset-version> 语法。 若要以内联方式定义数据集,请遵循数据集架构。 排除 name 和 version 属性,因为内联数据集不支持这些属性。 |
||
mode |
字符串 | 将数据集传送到计算目标的模式。 对于只读装载,数据集将用作装载路径。 文件夹将装载为文件夹,文件将装载为父文件夹。 对于下载模式,数据集将用作下载路径。 | ro_mount 、download |
ro_mount |
备注
组件作业可以在管道作业中运行。 az ml job
命令可用于管理 Azure 机器学习管道作业。
组件作业目前不能作为独立的作业运行,只能在管道中运行。