Azure Machine Learning SDK および CLI v2 の式

Azure Machine Learning SDK と CLI v2 を使用すると、ジョブまたはコンポーネントの作成時に値が不明な場合にを使用できます。 ジョブを送信するかコンポーネントを呼び出すと、式が評価され、値が置き換えられます。

式の形式は ${{ <expression> }} です。 一部の式は、ジョブまたはコンポーネントの送信時にクライアントで評価されます。 他の式はサーバー (ジョブまたはコンポーネントが実行されているコンピューティング) で評価されます。

クライアント式

Note

式を評価する "クライアント" は、ジョブが送信されるかコンポーネントが実行される場所です。 たとえば、ローカル コンピューターやコンピューティング インスタンスなどです。

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}} は、スケジュールされたジョブの作成時の既定のデータストアではなく、新しい既定のデータストアに解決されます。

Expression 説明 スコープ
${{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 のパスとして解決されます。

次のステップ

これらの式の詳細については、次の記事と例を参照してください。