ParallelRunStep クラス

Azure Machine Learning パイプライン ステップを作成して、大量のデータを非同期かつ並列に処理します。

ParallelRunStep の使用例については、ノートブック https://aka.ms/batch-inference-notebooks を参照してください。

トラブルシューティング ガイドについては、https://aka.ms/prstsg を参照してください。 その他の参照情報を見つけることができます。

大量のデータを非同期的かつ並列に処理する Azure ML パイプライン ステップを作成します。

ParallelRunStep の使用例については、ノートブックリンク https://aka.ms/batch-inference-notebooksを参照してください。

継承
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

コンストラクター

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

パラメーター

name
str
必須

ステップの名前。 ワークスペースに固有で、小文字、数字、またはダッシュのみで構成され、英字で始まり、3 文字から 32 文字の長さにする必要があります。

parallel_run_config
ParallelRunConfig
必須

必須の実行プロパティを決定するために使用される ParallelRunConfig オブジェクト。

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
必須

入力データセットのリスト。 リスト内のデータセットはすべて同じ型にする必要があります。 入力データは、並列処理のためにパーティション分割されます。 リスト内の各データセットは個別にミニバッチにパーティション分割され、各ミニバッチは並列処理で同等に処理されます。

output
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
既定値: None

後のパイプライン ステップで使用される可能性がある出力ポート バインディング。

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
既定値: None

サイド入力参照データのリスト。 サイド入力は入力データとしてパーティション分割されません。

arguments
list[str]
既定値: None

Python entry_script に渡されるコマンド ライン引数のリスト。

allow_reuse
bool
既定値: True

同じ設定/入力で実行されたときに、ステップで前の結果を再利用するかどうか。 これが false の場合は、パイプライン実行中に必ずこのステップに対して新しい実行が生成されます。

name
str
必須

ステップの名前。 ワークスペースに固有で、小文字、数字、またはダッシュのみで構成され、英字で始まり、3 文字から 32 文字の長さにする必要があります。

parallel_run_config
ParallelRunConfig
必須

必須の実行プロパティを決定するために使用される ParallelRunConfig オブジェクト。

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
必須

入力データセットのリスト。 リスト内のデータセットはすべて同じ型にする必要があります。 入力データは、並列処理のためにパーティション分割されます。 リスト内の各データセットは個別にミニバッチにパーティション分割され、各ミニバッチは並列処理で同等に処理されます。

output
PipelineData, OutputPortBinding
必須

後のパイプライン ステップで使用される可能性がある出力ポート バインディング。

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
必須

サイド入力参照データのリスト。 サイド入力は入力データとしてパーティション分割されません。

arguments
list[str]
必須

Python entry_script に渡されるコマンド ライン引数のリスト。

allow_reuse
bool
必須

同じ設定/入力で実行されたときに、ステップで前の結果を再利用するかどうか。 これが false の場合は、パイプライン実行中に必ずこのステップに対して新しい実行が生成されます。

注釈

ParallelRunStep は、大量のデータの並列処理に使用できます。 一般的なユース ケースは、ML モデルのトレーニングや、観測のバッチで予測を生成するためのオフライン推論の実行などです。 ParallelRunStep の機能よって、データは並列処理されるバッチに分割されます。 バッチ サイズやノードの数、並列処理を高速化するためのその他のチューニング可能なパラメーターは、ParallelRunConfig クラスで制御できます。 ParallelRunStep は、TabularDataset または FileDataset を入力として処理できます。

ParallelRunStep を使用するには:

  • ParallelRunConfig オブジェクトを作成してバッチ処理の実行方法を指定し、バッチ サイズ、コンピューティング先ごとのノード数、カスタム Python スクリプトへの参照をパラメーターで制御します。

  • ParallelRunConfig オブジェクトを使用する ParallelRunStep オブジェクトを作成し、ステップの入力と出力を定義します。

  • 他のパイプライン ステップの種類と同じように、構成された ParallelRunStep オブジェクトを Pipeline で使用します。

バッチ推論に ParallelRunStep および ParallelRunConfig クラスを使用する例については、次の記事で説明されています。


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

この例の詳細については、ノートブック https://aka.ms/batch-inference-notebooks を参照してください。

メソッド

create_module_def

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

このメソッドは直接使用するためのものではありません。

create_node

PythonScriptStep のノードを作成し、指定されたグラフに追加します。

このメソッドは直接使用するためのものではありません。 パイプラインが ParallelRunStep でインスタンス化されると、Azure Machine Learning が、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドを介して必要なパラメーターを自動的に渡します。

create_module_def

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

このメソッドは直接使用するためのものではありません。

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

パラメーター

execution_type
str
必須

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

input_bindings
list
必須

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

output_bindings
list
必須

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

param_defs
list
既定値: None

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

create_sequencing_ports
bool
既定値: True

true の場合、モジュール用のシーケンス処理ポートが作成されます。

allow_reuse
bool
既定値: True

true の場合、モジュールを将来のパイプラインで再利用できます。

version
str
既定値: None

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

arguments
list
既定値: None

このモジュールの呼び出し時に使用される注釈付き引数リスト。

戻り値

モジュールの def オブジェクト。

の戻り値の型 :

create_node

PythonScriptStep のノードを作成し、指定されたグラフに追加します。

このメソッドは直接使用するためのものではありません。 パイプラインが ParallelRunStep でインスタンス化されると、Azure Machine Learning が、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドを介して必要なパラメーターを自動的に渡します。

create_node(graph, default_datastore, context)

パラメーター

graph
Graph
必須

グラフ オブジェクト。

default_datastore
AbstractAzureStorageDatastore または AzureDataLakeDatastore
必須

既定のデータストア。

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

コンテキスト。

戻り値

作成されたノード。

の戻り値の型 :