次の方法で共有


Pipeline クラス

再利用可能な Azure Machine Learning ワークフローとして実行できるステップのコレクションを表します。

パイプラインを使用して、さまざまな機械学習フェーズを結合するワークフローを作成および管理します。 データ準備やモデル トレーニングなどの各機械学習フェーズは、パイプライン内の 1 つ以上のステップで構成できます。

パイプラインを使用する理由とタイミングの概要については、「 https://aka.ms/pl-concept」を参照してください。

パイプラインの構築の概要については、「 https://aka.ms/pl-first-pipeline」を参照してください。

パイプラインを初期化します。

コンストラクター

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

パラメーター

名前 説明
workspace
必須

パイプラインを送信するワークスペース。

steps
必須

パイプラインの一部として実行する手順の一覧。

description
必須
str

パイプラインの説明。

default_datastore
必須

データ接続に使用する既定のデータストア。

default_source_directory
必須
str

スクリプトを実行する手順の既定のスクリプト ディレクトリ。

resolve_closure
必須

クロージャを解決するかどうか (依存ステップが自動的に取り込まれます)。

workspace
必須

パイプラインを送信するワークスペース。

steps
必須

パイプラインの一部として実行する手順の一覧。

description
必須
str

パイプラインの説明。

default_datastore
必須

データ接続に使用する既定のデータストア。

default_source_directory
必須
str

スクリプトを実行する手順の既定のスクリプト ディレクトリ。

resolve_closure
必須

終了を解決するかどうか (依存ステップが自動的に取り込まれます)。

_workflow_provider
必須
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

ワークフロー プロバイダー (作成されていない場合)。

_service_endpoint
必須
str

サービス エンドポイント (None の場合)、ワークスペースを使用して決定されます。

kwargs
必須

カスタム キーワード引数(将来の開発用に予約済み)

注釈

パイプラインは、ステップとワークスペースの一覧で作成されます。 パイプラインで使用できるステップの種類は多数あります。 機械学習のシナリオに基づいて、ステップの種類を選択します。

  • Azure Machine Learning Pipelines には、一般的なシナリオ用の組み込み手順が用意されています。 PipelineStep から派生した事前構築済みステップは、1 つのパイプラインで使用されるステップです。 例については、 steps パッケージと AutoMLStep クラスを参照してください。

  • 異なるパイプライン間でバージョン管理および使用できるステップを作成するために機械学習ワークフロー呼び出しを使用する場合は、 Module モジュールの機能を使用します。

submitを使用してパイプラインを送信します。 送信が呼び出されると、 PipelineRun が作成され、ワークフロー内の各ステップ StepRun オブジェクトが作成されます。 これらのオブジェクトを使用して、実行の実行を監視します。

パイプラインを送信する例を次に示します。


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

パイプラインには、 submitの送信時に指定できるオプションの設定がいくつかあります。

  • continue_on_step_failure: ステップが失敗した場合にパイプラインの実行を続行するかどうか。既定値は False です。 True の場合、失敗したステップの出力に依存しないステップのみが実行を続行します。

  • regenerate_outputs: すべてのステップ出力を強制的に再生成し、この実行でデータの再利用を禁止するかどうかを指定します。既定値は False です。

  • pipeline_parameters: パイプライン実行のパラメーター、{name: value} のディクショナリ。 詳細については、PipelineParameter を参照してください。

  • parent_run_id: 実行 ID を指定して、このパイプライン実行の親実行を設定できます。これは RunHistory に反映されます。 親の実行は、このパイプラインが送信されるのと同じ実験に属している必要があります。

これらの設定を使用してパイプラインを送信する例を次に示します。


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline,
                                    continue_on_step_failure=True,
                                    regenerate_outputs=True,
                                    pipeline_parameters={"param1": "value1"},
                                    parent_run_id="<run_id>")

メソッド

load_yaml

指定した YAML ファイルからパイプラインを読み込みます。

YAML ファイルを使用して、ModuleSteps で構成されるパイプラインを記述できます。

publish

パイプラインを発行し、再実行できるようにします。

パイプラインが発行されると、パイプラインを構築した Python コードなしで送信できます。 作成された PublishedPipelineを返します。

service_endpoint

パイプラインに関連付けられているサービス エンドポイントを取得します。

submit

パイプラインの実行を送信します。 これは、 submitの使用と同じです。

送信された PipelineRunを返します。 このオブジェクトを使用して、実行の詳細を監視および表示します。

validate

パイプラインを検証し、接続されていない入力などの潜在的なエラーを特定します。

load_yaml

指定した YAML ファイルからパイプラインを読み込みます。

YAML ファイルを使用して、ModuleSteps で構成されるパイプラインを記述できます。

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

パラメーター

名前 説明
workspace
必須

パイプラインを送信するワークスペース。

filename
必須
str

パイプラインを記述する YAML ファイル。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

ワークフロー プロバイダー。

規定値: None
_service_endpoint
str

サービス エンドポイント (None の場合) は、ワークスペースを使用して決定されます。

規定値: None

戻り値

説明

構築されたパイプライン。

注釈

YAML ファイルの例については、以下を参照してください。 YAML には、パイプラインの名前、default_compute、パラメーター、データ参照、およびステップの一覧が含まれています。 各ステップでは、モジュール、コンピューティングとパラメーター、入力、出力のバインドを指定する必要があります。 さらに、必要に応じて、ステップ runconfig と引数を指定できます。

サンプル Yaml ファイル:


   pipeline:
       description: SamplePipelineFromYaml
       parameters:
           NumIterationsParameter:
               type: int
               default: 40
           DataPathParameter:
               type: datapath
               default:
                   datastore: workspaceblobstore
                   path_on_datastore: sample2.txt
           NodeCountParameter:
               type: int
               default: 4
       data_references:
           DataReference:
               datastore: workspaceblobstore
               path_on_datastore: testfolder/sample.txt
           Dataset:
               dataset_name: 'titanic'
       default_compute: aml-compute
       steps:
           PrepareStep:
               type:  ModuleStep
               name: "TestModule"
               compute: aml-compute2
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input1'
               -input:in1
               -'--input2'
               -input:in2
               -'--input3'
               -input:in3
               -'--output'
               -output:output_data
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS:
                       source: NumIterationsParameter
               inputs:
                   in1:
                       source: Dataset
                       bind_mode: mount
                   in2:
                       source: DataReference
                   in3:
                       source: DataPathParameter
               outputs:
                   output_data:
                       destination: Output1
                       datastore: workspaceblobstore
                       bind_mode: mount
           TrainStep:
               type: ModuleStep
               name: "TestModule2"
               version: "2"
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input'
               -input:train_input
               -'--output'
               -output:result
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS: 10
               runconfig_parameters:
                   NodeCount:
                       source: NodeCountParameter
               inputs:
                   train_input:
                       source: Output1
                       bind_mode: mount
               outputs:
                   result:
                       destination: Output2
                       datastore: workspaceblobstore
                       bind_mode: mount

publish

パイプラインを発行し、再実行できるようにします。

パイプラインが発行されると、パイプラインを構築した Python コードなしで送信できます。 作成された PublishedPipelineを返します。

publish(name=None, description=None, version=None, continue_on_step_failure=None)

パラメーター

名前 説明
name
str

発行されたパイプラインの名前。

規定値: None
description
str

発行されたパイプラインの説明。

規定値: None
version
str

発行されたパイプラインのバージョン。

規定値: None
continue_on_step_failure

ステップが失敗した場合に PipelineRun の他のステップの実行を続行するかどうかを示します。既定値は false です。 True の場合、失敗したステップの出力に依存しないステップのみが実行を続行します。

規定値: None

戻り値

説明

発行されたパイプラインを作成しました。

service_endpoint

パイプラインに関連付けられているサービス エンドポイントを取得します。

service_endpoint()

戻り値

説明
str

サービス エンドポイント。

submit

パイプラインの実行を送信します。 これは、 submitの使用と同じです。

送信された PipelineRunを返します。 このオブジェクトを使用して、実行の詳細を監視および表示します。

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

パラメーター

名前 説明
experiment_name
必須
str

パイプラインを送信する実験の名前。

pipeline_parameters

パイプライン実行のパラメーター、{name: value} のディクショナリ。 詳細については、PipelineParameter を参照してください。

規定値: None
continue_on_step_failure

ステップが失敗した場合にパイプラインの実行を続行するかどうかを示します。 True の場合、失敗したステップの出力に依存しないステップのみが実行を続行します。

規定値: False
regenerate_outputs

すべてのステップ出力を強制的に再生成し、この実行のデータ再利用を禁止するかどうかを示します。 False の場合、この実行は以前の実行の結果を再利用でき、それ以降の実行ではこの実行の結果が再利用される可能性があります。

規定値: False
parent_run_id
str

RunHistory に反映される、このパイプライン実行の親実行に設定するオプションの実行 ID。 親の実行は、このパイプラインが送信されるのと同じ実験に属している必要があります。

規定値: None
credential_passthrough

オプション。このフラグが有効になっている場合、リモート パイプライン ジョブはジョブを開始したユーザーの資格情報を使用します。 この機能はプライベート プレビューでのみ使用できます。

規定値: None

戻り値

説明

送信されたパイプラインの実行。

validate

パイプラインを検証し、接続されていない入力などの潜在的なエラーを特定します。

validate()

戻り値

説明

パイプライン内のエラーの一覧。

注釈

検証エラーの例を次に示します。

  • パイプライン データソースまたはステップの種類が見つからないか、予期しない

  • パイプライン データソースまたはステップのパラメーターまたは出力定義が見つからない

  • 接続されていない入力

  • ループまたはサイクルを形成するパイプライン ステップ

検証に合格し (空のリストが返される)、パイプラインが機能しない場合は、 機械学習パイプラインのデバッグとトラブルシューティングに関するページを参照してください。

属性

graph

パイプラインに関連付けられているグラフを取得します。 ステップとデータ入力は、グラフ内のノードとして表示されます。

戻り値

説明

グラフ。