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 オブジェクト。

inputs
必須

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

output

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

規定値: None
side_inputs

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

規定値: None
arguments

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

規定値: None
allow_reuse

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

規定値: True
name
必須
str

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

parallel_run_config
必須

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

inputs
必須

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

output
必須

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

side_inputs
必須

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

arguments
必須

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

allow_reuse
必須

同じ設定/入力で実行されたときに、ステップで前の結果を再利用するかどうか。 これが 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
必須

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

output_bindings
必須

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

param_defs

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

規定値: None
create_sequencing_ports

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

規定値: True
allow_reuse

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

規定値: True
version
str

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

規定値: None
arguments

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

規定値: None

戻り値

説明

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

create_node

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

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

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

グラフ オブジェクト。

default_datastore
必須

既定のデータストア。

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

コンテキスト。

戻り値

説明

作成されたノード。