ParallelRunStep 클래스
대량의 데이터를 비동기 및 병렬로 처리하는 Azure Machine Learning 파이프라인 단계를 만듭니다.
ParallelRunStep을 사용하는 예제는 Notebook https://aka.ms/batch-inference-notebooks을 참조하세요.
문제 해결 가이드는 다음을 참조하세요 https://aka.ms/prstsg. 더 많은 참조를 찾을 수 있습니다.
대량의 데이터를 비동기 및 병렬로 처리하는 Azure ML 파이프라인 단계를 만듭니다.
ParallelRunStep을 사용하는 예제는 Notebook 링크를 https://aka.ms/batch-inference-notebooks참조하세요.
생성자
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
매개 변수
Name | Description |
---|---|
name
필수
|
단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다. |
parallel_run_config
필수
|
필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다. |
inputs
필수
|
입력 데이터 세트 목록입니다. 목록의 모든 데이터 세트는 동일한 형식이어야 합니다. 입력 데이터는 병렬 처리를 위해 분할됩니다. 목록의 각 데이터 세트는 개별적으로 미니 일괄 처리로 분할되고 각 미니 일괄 처리는 병렬 처리에서 동일하게 처리됩니다. |
output
|
출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다. Default value: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
측면 입력 참조 데이터 목록입니다. 측면 입력은 입력 데이터로 분할되지 않습니다. Default value: None
|
arguments
|
Python entry_script 전달할 명령줄 인수 목록입니다. Default value: None
|
allow_reuse
|
동일한 설정/입력으로 실행할 때 단계가 이전 결과를 다시 사용해야 하는지 여부입니다. false이면 파이프라인을 실행하는 동안 이 단계에 대해 항상 새 실행이 생성됩니다. Default value: 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 개체를 만들고 단계에 대한 입력 및 출력을 정의합니다.
다른 파이프라인 단계 형식과 마찬가지로 구성된 ParallelRunStep 개체 Pipeline 를 사용합니다.
일괄 처리 유추를 위해 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
)
이 예제에 대한 자세한 내용은 Notebook 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)
매개 변수
Name | Description |
---|---|
execution_type
필수
|
모듈의 실행 유형입니다. |
input_bindings
필수
|
단계 입력 바인딩입니다. |
output_bindings
필수
|
단계 출력 바인딩입니다. |
param_defs
|
단계 매개 변수 정의입니다. Default value: None
|
create_sequencing_ports
|
true이면 모듈에 대한 시퀀싱 포트가 만들어집니다. Default value: True
|
allow_reuse
|
true이면 모듈을 향후 Pipelines에서 다시 사용할 수 있습니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
arguments
|
이 모듈을 호출할 때 사용할 주석이 추가된 인수 목록입니다. Default value: None
|
반환
형식 | Description |
---|---|
모듈 def 개체입니다. |
create_node
노드 PythonScriptStep 를 만들고 지정된 그래프에 추가합니다.
이 메서드는 직접 사용할 수 없습니다. ParallelRunStep으로 파이프라인이 인스턴스화되면 Azure Machine Learning은 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있도록 이 메서드를 통해 필요한 매개 변수를 자동으로 전달합니다.
create_node(graph, default_datastore, context)
매개 변수
Name | Description |
---|---|
graph
필수
|
Graph 개체입니다. |
default_datastore
필수
|
기본 데이터 저장소입니다. |
context
필수
|
<xref:azureml.pipeline.core._GraphContext>
문맥. |
반환
형식 | Description |
---|---|
만든 노드입니다. |