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)
參數
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
輸入資料集的清單。 清單中的所有資料集都應該是相同的類型。 輸入資料將會分割以進行平行處理。 清單中的每個資料集會分別分割成迷你批次,而且每個迷你批次都會在平行處理中平均處理。
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
側邊輸入參考資料的清單。 側邊輸入不會分割為輸入資料。
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
輸入資料集的清單。 清單中的所有資料集都應該是相同的類型。 輸入資料將會分割以進行平行處理。 清單中的每個資料集會分別分割成迷你批次,而且每個迷你批次都會在平行處理中平均處理。
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
側邊輸入參考資料的清單。 側邊輸入不會分割為輸入資料。
備註
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)
參數
傳回
模組 def 物件。
傳回類型
create_node
建立 的 PythonScriptStep 節點,並將其新增至指定的圖形。
這個方法不適合直接使用。 使用 ParallelRunStep 具現化管線時,Azure Machine Learning 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。
create_node(graph, default_datastore, context)
參數
- context
- <xref:azureml.pipeline.core._GraphContext>
內容
傳回
已建立的節點。
傳回類型
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應