你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure 机器学习 SDK 和 CLI v2,可以在创作作业或组件时可能不知道值时使用 表达式 。 当你提交作业或调用组件时,系统会计算表达式并替换值。
表达式的格式为 ${{ <expression> }}。 提交作业或组件时,会在客户端上计算一些表达式。 其他表达式在 服务器 上进行计算(即作业或组件运行的计算节点)。
客户端表达式
注意
用于计算表达式的“客户机”是您提交作业或运行组件的地方。 例如,本地计算机或计算实例。
| 表达式 | 说明 | Scope |
|---|---|---|
${{inputs.<input_name>}} |
对输入数据资产或模型的引用。 | 适用于所有作业。 |
${{outputs.<output_name>}} |
对输出数据资产或模型的引用。 | 适用于所有作业。 |
${{search_space.<hyperparameter>}} |
引用要在扫描作业中使用的超参数。 根据 search_space 选择每个试用版的超参数值。 |
仅扫描作业。 |
${{parent.inputs.<input_name>}} |
将管道中子作业(管道步骤)的输入绑定到顶级父管道作业的输入。 | 仅管道作业。 |
${{parent.outputs.<output_name>}} |
将管道中子作业(管道步骤)的输出绑定到顶级父管道作业的输出。 | 仅管道作业。 |
${{parent.jobs.<step-name>.inputs.<input-name>}} |
绑定到管道中另一个步骤的输入。 | 仅管道作业。 |
${{parent.jobs.<step-name>.outputs.<output-name>}} |
绑定到管道中另一个步骤的输出。 | 仅管道作业。 |
服务器表达式
重要说明
以下表达式在服务器端而不是客户端解析。 对于作业创建时间与作业提交时间不同的计划作业,将在提交作业时解析表达式。 由于这些表达式是在服务器端解析的,因此它们会使用工作区的当前状态,而不会使用创建计划作业时的工作区状态。 例如,如果在创建计划作业后更改工作区的默认数据存储,则表达式 ${{default_datastore}} 会解析为新的默认数据存储,而不会解析为创建计划作业时的默认数据存储。
| 表达式 | 说明 | Scope |
|---|---|---|
${{default_datastore}} |
如果配置了管道默认数据存储,则会解析为管道默认数据存储名称;否则会解析为工作区默认数据存储名称。 可以使用 pipeline_job.settings.default_datastore 控制管道默认数据存储。 |
适用于所有作业。 管道作业具有可配置的管道默认数据存储。 |
${{name}} |
作业名称。 对于管道,它是步骤作业名称,而不是管道作业名称。 | 适用于所有作业 |
${{output_name}} |
作业输出名称 | 适用于所有作业 |
例如,如果将 azureml://datastores/${{default_datastore}}/paths/${{name}}/${{output_name}} 用作输出路径,则会在运行时将其解析为 azureml://datastores/workspaceblobstore/paths/<job-name>/model_path 路径。
后续步骤
有关这些表达式的详细信息,请参阅以下文章和示例: