次の方法で共有


ParallelRunStep クラス

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

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

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

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

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

コンストラクター

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
必須

Graph オブジェクト。

default_datastore
必須

既定のデータストア。

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

文脈。

戻り値

説明

作成されたノード。