PipelineStep クラス

Azure Machine Learning パイプラインの実行ステップを表します。

パイプラインは、パイプライン内の個別のコンピューティング単位である複数のパイプライン ステップから構成されます。 各ステップは個別に実行でき、分離されたコンピューティング リソースを使用できます。 各ステップには通常、独自の名前付き入力、出力、パラメーターがあります。

PipelineStep クラスは、一般的なシナリオ用に設計された他の組み込みのステップ クラス (PythonScriptStepDataTransferStepHyperDriveStep など) が継承する基底クラスです。

Pipelines と PipelineSteps の関係の概要については、ML パイプラインに関する記事をご覧ください。

PipelineStep を初期化します。

継承
builtins.object
PipelineStep

コンストラクター

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

パラメーター

name
str
必須

パイプライン ステップの名前。

inputs
list
必須

ステップ入力のリスト。

outputs
list
必須

ステップ出力のリスト。

arguments
list
既定値: None

ステップで使用されるスクリプトに渡す引数の省略可能なリスト。

fix_port_name_collisions
bool
既定値: False

名前の競合を修正するかどうかを指定します。 True の場合、入力と出力の名前が同じであれば、入力の先頭に "INPUT" が付きます。 既定値は False です。

resource_inputs
list
既定値: None

リソースとして使用される入力の省略可能なリスト。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法を提供します。

name
str
必須

パイプライン ステップの名前。

inputs
list
必須

ステップ入力のリスト。

outputs
list
必須

ステップ出力のリスト。

arguments
list
必須

ステップで使用されるスクリプトに渡す引数の省略可能なリスト。

fix_port_name_collisions
bool
必須

名前の競合を修正するかどうかを指定します。 True の場合、入力と出力の名前が同じであれば、入力の先頭に "INPUT" が付きます。 既定値は False です。

resource_inputs
list
必須

リソースとして使用される入力の省略可能なリスト。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法を提供します。

注釈

PipelineStep は、実行のターゲット (コンピューティング先)、オプションのスクリプト引数と入力を使用して実行するスクリプトを通常必要とする実行単位であり、出力を生成できます。 このステップは、ステップに固有の他のパラメーターを多数受け取ることもできます。

パイプライン ステップを一緒に構成して、共有可能で再利用可能な Azure Machine Learning ワークフローを表す Pipeline を構築できます。 パイプラインの各ステップは、ステップの内容 (スクリプトや依存関係) に加えて入力とパラメーターも変更されていない場合に、直前の実行結果を再利用できるように構成できます。 ステップを再利用する場合は、計算するジョブを送信しないで、直前の実行の結果を後続のステップですぐに利用できるようになります。

Azure Machine Learning パイプラインから、一般的なシナリオ向けに組み込みのステップが提供されます。 例については、steps パッケージと AutoMLStep クラスを参照してください。 事前構築済みのステップに基づいてパイプラインを構築する方法の概要については、https://aka.ms/pl-first-pipeline を参照してください。

PipelineStep から派生した事前構築済みのステップは、1 つのパイプラインで使用されるステップです。 機械学習ワークフローを使用して、異なるパイプライン間でバージョン管理して使用できるステップを作成する必要がある場合は、Module クラスを使用します。

パイプラインのステップ、入力/出力データ、およびステップの再利用を操作する場合は、次の点に留意します。

  • 個別のステップに個別の source_directory の場所を使用することをお勧めします。 パイプライン ステップ内のすべてのスクリプトが単一のディレクトリにあると、1 つのスクリプトを変更するたびにそのディレクトリのハッシュが変更され、すべてのステップが再実行されることになります。 異なるステップで個別のディレクトリを使用する例については、https://aka.ms/pl-get-started を参照してください。

  • スクリプトと依存ファイルのフォルダーをステップごとに分けて保持すると、特定のフォルダーだけがスナップショットされるため、各ステップで作成されるスナップショットのサイズを小さくすることができます。 ステップの source_directory にあるファイルが変更されると、スナップショットの再アップロードがトリガーされるため、ステップごとに個別のフォルダーを保持することで、ステップの source_directory に変更がない場合は、そのステップの直前の実行が再利用され、パイプライン内のステップの再利用を増やすことができます。

  • ステップで使用するデータがデータストアにあり、allow_reuse が True の場合、データ変更に対する変更は検出されません。 (ステップの source_directory の下の) スナップショットの一部としてデータがアップロードされた場合、これは推奨されませんが、ハッシュが変更され、再実行がトリガーされます。

メソッド

create_input_output_bindings

ステップの入力と出力から入力と出力のバインドを作成します。

create_module_def

ステップを記述するモジュール定義オブジェクトを作成します。

create_node

このステップに基づいて、パイプライン グラフのノードを作成します。

get_source_directory

ステップのソース ディレクトリを取得し、スクリプトが存在することを検査します。

resolve_input_arguments

入力と出力を引数に一致させて、引数文字列を生成します。

run_after

指定したステップの後にこのステップを実行します。

validate_arguments

引数に指定されたステップの入力と出力が入力と出力のリストに含まれることを検証します。

create_input_output_bindings

ステップの入力と出力から入力と出力のバインドを作成します。

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

パラメーター

inputs
list
必須

ステップ入力のリスト。

outputs
list
必須

ステップ出力のリスト。

default_datastore
AbstractAzureStorageDatastore または AzureDataLakeDatastore
必須

既定のデータストア。

resource_inputs
list
既定値: None

リソースとして使用される入力のリスト。 リソースはスクリプト フォルダーにダウンロードされ、実行時にスクリプトの動作を変更する方法を提供します。

戻り値

入力バインドと出力バインドのタプル。

の戻り値の型 :

create_module_def

ステップを記述するモジュール定義オブジェクトを作成します。

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

パラメーター

execution_type
str
必須

モジュールの実行の種類。

input_bindings
list
必須

ステップの入力バインド。

output_bindings
list
必須

ステップの出力バインド。

param_defs
list
既定値: None

ステップ パラメーターの定義。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュール用に作成するかどうかを指定します。

allow_reuse
bool
既定値: True

モジュールを将来のパイプラインで再利用できるかどうかを指定します。

version
str
既定値: None

モジュールのバージョン。

module_type
str
既定値: None

作成するモジュール作成サービスのモジュールの種類。 現在は、'None' と 'BatchInferencing' の 2 種類のみがサポートされています。 module_type は、このモジュールの実行に使用するバックエンド サービスの種類を指定する execution_type とは異なります。

arguments
list
既定値: None

このモジュールを呼び出す際に使用する注釈付き引数リスト

runconfig
str
既定値: None

python_script_step に使用される runconfig

cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
既定値: None

クラウドに使用される設定

戻り値

モジュール定義オブジェクト。

の戻り値の型 :

create_node

このステップに基づいて、パイプライン グラフのノードを作成します。

abstract create_node(graph, default_datastore, context)

パラメーター

graph
Graph
必須

ノードを追加するグラフ。

default_datastore
AbstractAzureStorageDatastore または AzureDataLakeDatastore
必須

このステップに使用する既定のデータストア。

context
<xref:azureml.pipeline.core._GraphContext>
必須

グラフ コンテキスト オブジェクト。

戻り値

作成されたノード。

の戻り値の型 :

get_source_directory

ステップのソース ディレクトリを取得し、スクリプトが存在することを検査します。

get_source_directory(context, source_directory, script_name)

パラメーター

context
<xref:azureml.pipeline.core._GraphContext>
必須

グラフ コンテキスト オブジェクト。

source_directory
str
必須

ステップのソース ディレクトリ。

script_name
str
必須

ステップのスクリプト名。

hash_paths
list
必須

モジュールのフィンガープリントを決定するときに使用するハッシュ パス。

戻り値

ソース ディレクトリとハッシュ パス。

の戻り値の型 :

resolve_input_arguments

入力と出力を引数に一致させて、引数文字列を生成します。

static resolve_input_arguments(arguments, inputs, outputs, params)

パラメーター

arguments
list
必須

ステップ引数のリスト。

inputs
list
必須

ステップ入力のリスト。

outputs
list
必須

ステップ出力のリスト。

params
list
必須

ステップ パラメーターのリスト。

戻り値

2 つの項目のタプルを返します。 1 つ目は、解決された引数の項目のフラットなリストです。 2 つ目は、構造化引数 (_InputArgument、_OutputArgument、_ParameterArgument、_StringArgument) のリストです

の戻り値の型 :

run_after

指定したステップの後にこのステップを実行します。

run_after(step)

パラメーター

step
PipelineStep
必須

このステップの前に実行するパイプライン ステップ。

注釈

step1 と step2 の両方が完了した後に、step3 など、ステップを実行する場合は、次のコマンドを使用できます。


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

引数に指定されたステップの入力と出力が入力と出力のリストに含まれることを検証します。

static validate_arguments(arguments, inputs, outputs)

パラメーター

arguments
list
必須

ステップ引数のリスト。

inputs
list
必須

ステップ入力のリスト。

outputs
list
必須

ステップ出力のリスト。