Azure Machine Learning SDK 和 CLI v2 中的運算式
當您在撰寫作業或元件而可能不知道值時,您可以利用 Azure Machine Learning SDK 和 CLI v2 來使用運算式。 當您提交作業或呼叫元件時,會評估運算式並取代值。
運算式的格式為 ${{ <expression> }}
。 提交作業或元件時,會在用戶端上評估某些運算式。 在伺服器 (計算中正在執行作業或元件) 上評估其他運算式。
用戶端運算式
注意
評估運算式的「用戶端」是提交作業或執行元件的位置。 例如,您的本機電腦或計算執行個體。
運算式 | 描述 | 範圍 |
---|---|---|
${{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}}
會解析為新的預設資料存放區,而不是建立排程作業時的預設資料存放區。
運算式 | 描述 | 範圍 |
---|---|---|
${{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
的路徑。
下一步
如需這些運算式的詳細資訊,請參閱下列文章和範例: