共用方式為


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)

參數

名稱 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

已建立的節點。