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 的路徑。

下一步

如需這些運算式的詳細資訊,請參閱下列文章和範例: