共用方式為


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)

參數

名稱 Description
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 可以使用 TabularDatasetFileDataset 做為輸入。

若要使用 ParallelRunStep:

  • 建立 ParallelRunConfig 物件,以指定批處理的執行方式,並使用參數來控制批次大小、每個計算目標的節點數目,以及自定義 Python 腳本的參考。

  • 建立使用 ParallelRunConfig 物件的 ParallelRunStep 物件,並定義步驟的輸入和輸出。

  • 如同使用其他管線步驟類型一樣,使用中 Pipeline 已設定的 ParallelRunStep 物件。

下列文章將討論如何使用 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)

參數

名稱 Description
execution_type
必要
str

模組的執行類型。

input_bindings
必要

步驟輸入系結。

output_bindings
必要

步驟輸出系結。

param_defs

步驟參數定義。

預設值: None
create_sequencing_ports

如果為 true,則會為模組建立排序埠。

預設值: True
allow_reuse

如果為 true,模組將會在未來的 Pipelines 中重複使用。

預設值: True
version
str

模組的版本。

預設值: None
arguments

呼叫此模組時要使用的批註自變數清單。

預設值: None

傳回

類型 Description

模組 def 物件。

create_node

建立的 PythonScriptStep 節點,並將其新增至指定的圖形。

此方法不適合直接使用。 使用 ParallelRunStep 具現化管線時,Azure Machine Learning 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。

create_node(graph, default_datastore, context)

參數

名稱 Description
graph
必要

Graph 物件。

default_datastore
必要

預設數據存放區。

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

上下文。

傳回

類型 Description

建立的節點。