ParallelRunStep 클래스

Azure Machine Learning 파이프라인 단계를 만들어 대량의 데이터를 비동기적으로, 그리고 병렬로 처리합니다.

참고

azureml-contrib-pipeline-steps 패키지는 더 이상 사용되지 않으며 azureml-pipeline-steps로 이동되었습니다.

새 패키지의 ParallelRunStep 클래스를 사용하세요.

ParallelRunStep을 사용하는 예제는 Notebook https://aka.ms/batch-inference-notebooks을 참조하세요.

문제 해결 가이드는 https://aka.ms/prstsg를 참조하세요. 이 문서에서 더 많은 참고 자료를 찾을 수 있습니다.

대량의 데이터를 비동기적으로 병렬로 처리하는 Azure ML 파이프라인 단계를 만듭니다.

ParallelRunStep을 사용하는 예제는 Notebook 링크를 https://aka.ms/batch-inference-notebooks참조하세요.

상속
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
ParallelRunStep

생성자

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, models=None, arguments=None, allow_reuse=True, tags=None, properties=None, add_parallel_run_step_dependencies=True)

매개 변수

name
str
필수

단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다.

parallel_run_config
ParallelRunConfig
필수

필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다.

inputs
list[DatasetConsumptionConfig]
필수

입력 데이터 집합 목록입니다. 목록의 모든 데이터 세트는 동일한 형식이어야 합니다.

output
PipelineData, OutputPortBinding
기본값: None

출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다.

side_inputs
list[PipelineData]
기본값: None

측면 입력 참조 데이터 목록입니다.

models
list[Model]
기본값: None

모델 개체 0개 이상으로 구성된 목록입니다. 이 목록은 파이프라인을 추적하여 버전 매핑만 모델링하는 데 사용됩니다. 모델은 컨테이너에 복사되지 않습니다. Model 클래스의 get_model_path 메서드를 사용하여 entry_script의 init 함수에서 모델을 검색합니다.

arguments
list[str]
기본값: None

Python entry_script로 전달할 명령줄 인수 목록입니다.

allow_reuse
bool
기본값: True

동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다.

tags
dict[str, str]
기본값: None

이 단계의 키 값 태그 사전입니다.

properties
bool
기본값: None

이 단계의 키 값 속성 사전입니다.

add_parallel_run_step_dependencies
기본값: True

[사용되지 않음] ParallelRunStep에 대한 런타임 종속성을 추가할지 여부입니다. 여기에는 다음이 해당합니다.

  • azure-storage-queue~=2.1

  • azure-storage-common~=2.1

  • azureml-core~=1.0

  • azureml-telemetry~=1.0

  • filelock~=3.0

  • azureml-dataset-runtime[fuse,pandas]~=1.1

  • psutil

name
str
필수

단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다.

parallel_run_config
ParallelRunConfig
필수

필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다.

inputs
list[DatasetConsumptionConfig]
필수

입력 데이터 집합 목록입니다. 목록의 모든 데이터 세트는 동일한 형식이어야 합니다.

output
PipelineData, OutputPortBinding
필수

출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다.

side_inputs
list[PipelineData]
필수

측면 입력 참조 데이터 목록입니다.

models
list[Model]
필수

[사용되지 않음] 0개 이상의 모델 개체 목록입니다. 이 목록은 파이프라인을 추적하여 버전 매핑만 모델링하는 데 사용됩니다. 모델은 컨테이너에 복사되지 않습니다. Model 클래스의 get_model_path 메서드를 사용하여 entry_script의 init 함수에서 모델을 검색합니다.

arguments
list[str]
필수

Python entry_script로 전달할 명령줄 인수 목록입니다.

allow_reuse
bool
필수

동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다.

tags
dict[str, str]
필수

[사용되지 않음] 이 단계의 키 값 태그 사전입니다.

properties
bool
필수

[사용되지 않음] 이 단계의 키 값 속성 사전입니다.

add_parallel_run_step_dependencies
필수

[사용되지 않음] ParallelRunStep에 대한 런타임 종속성을 추가할지 여부입니다. 여기에는 다음이 해당합니다.

  • azure-storage-queue~=2.1

  • azure-storage-common~=2.1

  • azureml-core~=1.0

  • azureml-telemetry~=1.0

  • filelock~=3.0

  • azureml-dataset-runtime[fuse,pandas]~=1.1

  • psutil

설명

ParallelRunStep 클래스는 대량의 데이터를 포함하고 일괄 처리 학습 또는 일괄 처리 채점 등 시간에 민감하지 않은 모든 종류의 처리 작업에 사용할 수 있습니다. ParallelRunStep은 대규모 작업을 병렬로 처리되는 일괄 처리로 분할하여 작동합니다. 일괄 처리 크기 및 병렬 처리 정도는 ParallelRunConfig 클래스로 제어할 수 있습니다. ParallelRunStep은 TabularDataset 또는 FileDataset를 입력으로 사용할 수 있습니다.

ParallelRunStep 클래스로 작업하려면 다음 패턴이 일반적입니다.

  • ParallelRunConfig 개체를 만들어 일괄 처리 크기, 컴퓨팅 대상당 노드 수 및 사용자 지정 Python 스크립트에 대한 참조를 제어하는 매개 변수와 함께 일괄 처리 처리가 수행되는 방식을 지정합니다.

  • ParallelRunConfig 개체를 사용하고 단계에 대한 입력 및 출력과, 사용할 모델 목록을 정의하는 ParallelRunStep 개체를 만듭니다.

  • steps 패키지에 정의된 파이프라인 단계 유형과 마찬가지로 Pipeline에서 구성된 ParallelRunStep 개체를 사용합니다.

일괄 처리 유추를 위해 ParallelRunStep 및 ParallelRunConfig 클래스를 사용하는 예제는 다음 문서에 설명되어 있습니다.


   from azureml.contrib.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,
       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,
       models=[ model ],
       arguments=[ ],
       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)

매개 변수

execution_type
str
필수

모듈의 실행 유형입니다.

input_bindings
list
필수

단계 입력 바인딩입니다.

output_bindings
list
필수

단계 출력 바인딩입니다.

param_defs
list
기본값: None

단계 매개 변수 정의입니다.

create_sequencing_ports
bool
기본값: True

True이면 모듈에 대한 시퀀싱 포트가 만들어집니다.

allow_reuse
bool
기본값: True

True이면 모듈을 향후 파이프라인에서 다시 사용할 수 있습니다.

version
str
기본값: None

모듈의 버전입니다.

arguments
list
기본값: None

주석이 추가된 인수 목록으로, 이 모듈을 호출할 때 사용됩니다.

반환

Module def 개체입니다.

반환 형식

create_node

PythonScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다.

이 메서드는 직접 사용할 수 없습니다. ParallelRunStep을 사용하여 파이프라인을 인스턴스화하면 Azure Machine Learning은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.

create_node(graph, default_datastore, context)

매개 변수

graph
Graph
필수

Graph 개체입니다.

default_datastore
AbstractAzureStorageDatastore 또는 AzureDataLakeDatastore
필수

기본 데이터 저장소입니다.

context
<xref:azureml.pipeline.core._GraphContext>
필수

컨텍스트입니다.

반환

생성된 노드입니다.

반환 형식