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._ParallelRunStepBaseParallelRunStep
建構函式
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
參數
名稱 | Description |
---|---|
name
必要
|
步驟的名稱。 工作區必須是唯一的,只有小寫字母、數位或虛線、以字母開頭,長度介於 3 到 32 個字元之間。 |
parallel_run_config
必要
|
ParallelRunConfig 物件,用來判斷必要的執行屬性。 |
inputs
必要
|
輸入資料集的清單。 清單中的所有資料集都應該是相同的類型。 輸入資料將會分割以進行平行處理。 清單中的每個資料集會分別分割成迷你批次,而且每個迷你批次都會在平行處理中平均處理。 |
output
|
輸出埠系結可由稍後的管線步驟使用。 預設值: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
側邊輸入參考資料的清單。 側邊輸入不會分割為輸入資料。 預設值: None
|
arguments
|
要傳遞至 Python entry_script的命令列引數清單。 預設值: None
|
allow_reuse
|
在使用相同設定/輸入執行時,步驟是否應重複使用先前的結果。 如果這是 false,則管線執行期間一律會產生此步驟的新執行。 預設值: True
|
name
必要
|
步驟的名稱。 工作區必須是唯一的,只有小寫字母、數位或虛線、以字母開頭,長度介於 3 到 32 個字元之間。 |
parallel_run_config
必要
|
ParallelRunConfig 物件,用來判斷必要的執行屬性。 |
inputs
必要
|
輸入資料集的清單。 清單中的所有資料集都應該是相同的類型。 輸入資料將會分割以進行平行處理。 清單中的每個資料集會分別分割成迷你批次,而且每個迷你批次都會在平行處理中平均處理。 |
output
必要
|
輸出埠系結可由稍後的管線步驟使用。 |
side_inputs
必要
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
側邊輸入參考資料的清單。 側邊輸入不會分割為輸入資料。 |
arguments
必要
|
要傳遞至 Python entry_script的命令列引數清單。 |
allow_reuse
必要
|
在使用相同設定/輸入執行時,步驟是否應重複使用先前的結果。 如果這是 false,則管線執行期間一律會產生此步驟的新執行。 |
備註
ParallelRunStep 可用於平行處理大量資料。 常見的使用案例是定型 ML 模型或執行離線推斷,以產生一批觀察的預測。 ParallelRunStep 的運作方式是將您的資料細分為平行處理的批次。 批次大小節點計數,以及其他可加速平行處理的參數,可以使用 類別來控制 ParallelRunConfig 。 ParallelRunStep 可以使用 TabularDataset 或 FileDataset 作為輸入。
若要使用 ParallelRunStep:
建立 ParallelRunConfig 物件以指定批次處理的執行方式,以及控制批次大小的參數、每個計算目標的節點數目,以及自訂 Python 腳本的參考。
建立使用 ParallelRunConfig 物件的 ParallelRunStep 物件,並定義步驟的輸入和輸出。
使用 中 Pipeline 已設定的 ParallelRunStep 物件,就像您使用其他管線步驟類型一樣。
下列文章會討論使用 ParallelRunStep 和 ParallelRunConfig 類別進行批次推斷的範例:
教學課程:建置 Azure Machine Learning 管線進行批次評分。 本文說明如何在管線中使用這兩個類別進行非同步批次評分,並且讓 REST 端點能夠執行管線。
使用 Azure Machine Learning 對大量資料執行批次推斷。 本文說明如何使用自訂推斷指令碼,以及預先定型、以 MNIST 資料集為基礎的影像分類模型,以非同步方式和平行方式處理大量資料。
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
必要
|
模組的執行類型。 |
input_bindings
必要
|
步驟輸入系結。 |
output_bindings
必要
|
步驟輸出系結。 |
param_defs
|
步驟參數定義。 預設值: None
|
create_sequencing_ports
|
如果為 true,將會為模組建立排序埠。 預設值: True
|
allow_reuse
|
如果為 true,模組將會在未來的 Pipelines 中重複使用。 預設值: True
|
version
|
模組的版本。 預設值: 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 |
---|---|
已建立的節點。 |