ModuleStep 클래스

특정 버전의 모듈을 실행하기 위한 Azure Machine Learning 파이프라인 단계를 만듭니다.

Module 개체는 스크립트 또는 실행 파일과 같은 재사용 가능한 계산을 정의하며 다양한 기계 학습 시나리오와 다양한 사용자가 사용할 수 있습니다. 파이프라인에서 특정 버전의 모듈을 사용하려면 ModuleStep을 생성합니다. ModuleStep은 기존 ModuleVersion을 사용하는 파이프라인의 단계입니다.

ModuleStep 사용 예제는 Notebook https://aka.ms/pl-modulestep을 참조하세요.

특정 버전의 모듈을 실행하는 Azure ML 파이프라인 단계를 만듭니다.

상속
ModuleStep

생성자

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

매개 변수

module
Module
기본값: None

단계에서 사용된 모듈입니다. module 또는 module_version 매개 변수를 제공하되 둘 모두는 제공하지 마세요.

version
str
기본값: None

단계에서 사용된 모듈의 버전입니다.

module_version
ModuleVersion
기본값: None

단계에서 사용된 모듈의 ModuleVersion입니다. module 또는 module_version 매개 변수를 제공하되 둘 모두는 제공하지 마세요.

inputs_map
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
기본값: None

ModuleVersion의 포트 정의 이름을 단계의 입력에 매핑하는 사전입니다.

outputs_map
dict[str, Union[OutputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset]]
기본값: None

ModuleVersion의 포트 정의 이름을 단계의 출력에 매핑하는 사전입니다.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
기본값: None

사용할 컴퓨팅 대상입니다. 지정하지 않으면 runconfig의 대상이 사용됩니다. 컴퓨팅 대상 개체 또는 작업 영역에 있는 컴퓨팅 대상의 문자열 이름일 수 있습니다. 필요에 따라 파이프라인을 만들 때 컴퓨팅 대상을 사용할 수 없는 경우 컴퓨팅 대상 개체를 가져오지 않도록 ('컴퓨팅 대상 이름', '컴퓨팅 대상 형식') 튜플을 지정할 수 있습니다(AmlCompute 형식은 'AmlCompute'이고 RemoteCompute 형식은 'VirtualMachine').

runconfig
RunConfiguration
기본값: None

사용할 선택적 RunConfiguration입니다. RunConfiguration을 사용하여 conda 종속성 및 Docker 이미지와 같은 실행에 대한 추가 요구 사항을 지정할 수 있습니다.

runconfig_pipeline_params
dict[str, PipelineParameter]
기본값: None

런타임에 각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 runconfig 속성을 재정의합니다.

지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

arguments
list[str]
기본값: None

Python 스크립트 파일에 대한 명령줄 인수 목록입니다. 인수는 RunConfiguration의 인수를 통해 컴퓨팅 대상에 전달됩니다. 특수 기호와 같은 인수를 처리하는 방법에 대한 자세한 내용은 RunConfiguration의 인수를 참조하세요.

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

이름-값 쌍의 사전입니다.

name
str
기본값: None

단계의 이름입니다.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
기본값: None

(내부용으로만 사용) 워크플로 공급자입니다.

module
Module
필수

단계에서 사용된 모듈입니다. module 또는 module_version 매개 변수를 제공하되 둘 모두는 제공하지 마세요.

version
str
필수

단계에서 사용된 모듈의 버전입니다.

module_version
ModuleVersion
필수

단계에서 사용되는 모듈의 ModuleVersion입니다. module 또는 module_version 매개 변수를 제공하되 둘 모두는 제공하지 마세요.

inputs_map
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]
필수

ModuleVersion의 포트 정의 이름을 단계의 입력에 매핑하는 사전입니다.

outputs_map
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]
필수

ModuleVersion의 포트 정의 이름을 단계의 출력에 매핑하는 사전입니다.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
필수

사용할 컴퓨팅 대상입니다. 지정하지 않으면 runconfig의 대상이 사용됩니다. 컴퓨팅 대상 개체 또는 작업 영역에 있는 컴퓨팅 대상의 문자열 이름일 수 있습니다. 필요에 따라 파이프라인을 만들 때 컴퓨팅 대상을 사용할 수 없는 경우 컴퓨팅 대상 개체를 가져오지 않도록 ('컴퓨팅 대상 이름', '컴퓨팅 대상 형식') 튜플을 지정할 수 있습니다(AmlCompute 형식은 'AmlCompute'이고 RemoteCompute 형식은 'VirtualMachine').

runconfig
RunConfiguration
필수

사용할 선택적 RunConfiguration입니다. RunConfiguration을 사용하여 conda 종속성 및 Docker 이미지와 같은 실행에 대한 추가 요구 사항을 지정할 수 있습니다.

runconfig_pipeline_params
dict[str, PipelineParameter]
필수

런타임에 각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 runconfig 속성을 재정의합니다.

지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

arguments
list[str]
필수

Python 스크립트 파일에 대한 명령줄 인수 목록입니다. 인수는 RunConfiguration의 인수를 통해 컴퓨팅 대상에 전달됩니다. 특수 기호와 같은 인수를 처리하는 방법에 대한 자세한 내용은 RunConfiguration의 인수를 참조하세요.

params
dict[str, str]
필수

이름-값 쌍의 사전입니다.

name
str
필수

단계의 이름입니다.

_wokflow_provider
필수

(내부용으로만 사용) 워크플로 공급자입니다.

설명

Module은 Azure Machine Learning 파이프라인의 재사용 가능한 계산 단위를 만들고 관리하는 데 사용됩니다. ModuleStep은 모듈을 사용하는 데 사용되는 Azure Machine Learning의 기본 제공 단계입니다. 사용할 ModuleVersion을 구체적으로 정의하거나 Module 클래스의 비고 섹션에 정의된 확인 프로세스에 따라 Azure Machine Learning이 사용할 ModuleVersion을 확인하도록 할 수 있습니다. 제출된 파이프라인에서 사용되는 ModuleVersion을 정의하려면 ModuleStep을 만들 때 다음 중 하나를 정의합니다.

  • ModuleVersion 개체입니다.

  • Module 개체 및 버전 값입니다.

  • 버전 값이 없는 Module 개체입니다. 이 경우 버전 해상도는 제출마다 다를 수 있습니다.

ModuleStep의 입출력과 ModuleVersion의 입출력 간의 매핑을 정의해야 합니다.

다음 예에서는 여러 ModuleStep 개체가 있는 파이프라인의 일부로 ModuleStep을 만드는 방법을 보여 줍니다.


   middle_step = ModuleStep(module=module,
                            inputs_map= middle_step_input_wiring,
                            outputs_map= middle_step_output_wiring,
                            runconfig=RunConfiguration(), compute_target=aml_compute,
                            arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
                                         "--output_sum", middle_sum, "--output_product", middle_prod])

전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb에서 사용할 수 있습니다.

메서드

create_node

ModuleStep 단계에서 노드를 만들고 지정된 그래프에 추가합니다.

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

create_node

ModuleStep 단계에서 노드를 만들고 지정된 그래프에 추가합니다.

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

create_node(graph, default_datastore, context)

매개 변수

graph
Graph
필수

노드를 추가할 그래프 개체입니다.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
필수

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

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

그래프 컨텍스트입니다.

반환

노드 개체입니다.

반환 형식