Module 클래스
Azure Machine Learning 파이프라인에 사용되는 계산 단위를 나타냅니다.
모듈은 컴퓨팅 대상에서 실행되는 파일의 컬렉션이며 인터페이스에 대한 설명입니다. 파일 컬렉션은 스크립트, 이진 파일 또는 컴퓨팅 대상에서 실행하는 데 필요한 기타 파일일 수 있습니다. 모듈 인터페이스는 입력, 출력, 매개 변수 정의를 설명합니다. 특정 값이나 데이터에 바인딩하지 않습니다. 모듈에는 모듈에 대해 정의된 파일 컬렉션을 캡처하는 스냅샷이 연결되어 있습니다.
모듈을 초기화합니다.
- 상속
-
builtins.objectModule
생성자
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
이 모듈이 속한 작업 영역 개체입니다. |
module_id
필수
|
모듈의 ID입니다. |
name
필수
|
모듈의 이름입니다. |
description
필수
|
모듈에 대한 설명입니다. |
status
필수
|
모듈의 새 상태(‘활성’, ‘사용되지 않음’ 또는 ‘사용 안 함’)입니다. |
default_version
필수
|
모듈의 기본 버전입니다. |
module_version_list
필수
|
ModuleVersionDescriptor 개체의 목록입니다. |
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(내부 전용) 모듈 공급자입니다. Default value: None
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(내부 전용) ModuleVersion 공급자입니다. Default value: None
|
workspace
필수
|
이 모듈이 속한 작업 영역 개체입니다. |
module_id
필수
|
모듈의 ID입니다. |
name
필수
|
모듈의 이름입니다. |
description
필수
|
모듈에 대한 설명입니다. |
status
필수
|
모듈의 새 상태(‘활성’, ‘사용되지 않음’ 또는 ‘사용 안 함’)입니다. |
default_version
필수
|
모듈의 기본 버전입니다. |
module_version_list
필수
|
ModuleVersionDescriptor 개체의 목록입니다. |
_module_provider
필수
|
<xref:<xref:_AevaMlModuleProvider object>>
모듈 공급자입니다. |
_module_version_provider
필수
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
ModuleVersion 공급자입니다. |
설명
모듈은 해당 버전의 컨테이너 역할을 합니다. 다음 예제에서 ModuleVersion은 publish_python_script 메서드에서 만들어지고 두 개의 입력과 두 개의 출력이 있습니다. create ModuleVersion이 기본 버전입니다(is_default
는 True로 설정됨).
out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Sum of two numbers")
out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Product of two numbers")
entry_version = module.publish_python_script("calculate.py", "initial",
inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
version="1", source_directory="./calc")
전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb에서 사용할 수 있습니다.
이 모듈은 다른 단계에서 파이프라인을 정의할 때 ModuleStep을 사용하여 사용할 수 있습니다.
다음 샘플은 PipelineData를 사용하여 파이프라인에 사용되는 데이터를 ModuleVersion의 입력 및 출력에 연결하는 방법을 보여 줍니다.
middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":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에서 사용할 수 있습니다.
그런 다음, 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 |
모듈을 만듭니다. |
deprecate |
모듈을 ‘사용되지 않음’으로 설정합니다. |
disable |
모듈을 ‘사용 안 함’으로 설정합니다. |
enable |
모듈을 ‘활성’으로 설정합니다. |
get |
이름 또는 ID를 기준으로 모듈을 가져옵니다. 둘 다 제공되지 않으면 예외를 throw합니다. |
get_default |
기본 모듈 버전을 가져옵니다. |
get_default_version |
모듈의 기본 버전을 가져옵니다. |
get_versions |
모듈의 모든 버전을 가져옵니다. |
module_def_builder |
단계를 설명하는 모듈 정의 개체를 만듭니다. |
module_version_list |
모듈 버전 목록을 가져옵니다. |
process_source_directory |
단계의 소스 디렉터리를 처리하고 스크립트가 있는지 확인합니다. |
publish |
ModuleVersion을 만들고 현재 모듈에 추가합니다. |
publish_adla_script |
ADLA(Azure Data Lake Analytics)를 기반으로 ModuleVersion을 만들고 현재 모듈에 추가합니다. |
publish_azure_batch |
Azure Batch를 사용하는 ModuleVersion을 만들고 현재 모듈에 추가합니다. |
publish_python_script |
Python 스크립트를 기반으로 하는 ModuleVersion을 만들고 현재 모듈에 추가합니다. |
resolve |
올바른 ModuleVersion을 확인하고 반환합니다. |
set_default_version |
모듈의 기본 ModuleVersion을 설정합니다. |
set_description |
모듈에 대한 설명을 설정합니다. |
set_name |
모듈의 이름을 설정합니다. |
create
모듈을 만듭니다.
static create(workspace, name, description, _workflow_provider=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
모듈을 만들 작업 영역입니다. |
name
필수
|
모듈의 이름입니다. |
description
필수
|
모듈에 대한 설명입니다. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(내부 전용) 워크플로 공급자입니다. Default value: None
|
반환
형식 | Description |
---|---|
모듈 개체 |
deprecate
모듈을 ‘사용되지 않음’으로 설정합니다.
deprecate()
disable
모듈을 ‘사용 안 함’으로 설정합니다.
disable()
enable
모듈을 ‘활성’으로 설정합니다.
enable()
get
이름 또는 ID를 기준으로 모듈을 가져옵니다. 둘 다 제공되지 않으면 예외를 throw합니다.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
모듈을 만들 작업 영역입니다. |
module_id
|
모듈의 ID입니다. Default value: None
|
name
|
모듈의 이름입니다. Default value: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(내부 전용) 워크플로 공급자입니다. Default value: None
|
반환
형식 | Description |
---|---|
모듈 개체 |
get_default
get_default_version
get_versions
모듈의 모든 버전을 가져옵니다.
static get_versions(workspace, name, _workflow_provider=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
모듈이 만들어진 작업 영역입니다. |
name
필수
|
모듈의 이름입니다. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(내부 전용) 워크플로 공급자입니다. Default value: None
|
반환
형식 | Description |
---|---|
module_def_builder
단계를 설명하는 모듈 정의 개체를 만듭니다.
static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)
매개 변수
Name | Description |
---|---|
name
필수
|
모듈의 이름입니다. |
description
필수
|
모듈에 대한 설명입니다. |
execution_type
필수
|
모듈의 실행 유형입니다. |
input_bindings
필수
|
모듈 입력 바인딩입니다. |
output_bindings
필수
|
모듈 출력 바인딩입니다. |
param_defs
|
모듈 매개 변수 정의입니다. Default value: None
|
create_sequencing_ports
|
모듈에 대해 시퀀싱 포트를 만들지 여부를 나타냅니다. Default value: True
|
allow_reuse
|
모듈을 다시 사용할 수 있는지 여부를 나타냅니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
module_type
|
모듈 유형입니다. Default value: None
|
step_type
|
이 모듈과 연결된 단계 유형(예: “PythonScriptStep”, “HyperDriveStep” 등)입니다. Default value: None
|
arguments
|
이 모듈을 호출할 때 사용할 주석이 추가된 인수 목록 Default value: None
|
runconfig
|
python_script_step에 사용할 Runconfig Default value: None
|
cloud_settings
|
클라우드에 사용할 설정 Default value: None
|
반환
형식 | Description |
---|---|
모듈 정의 개체입니다. |
예외
형식 | Description |
---|---|
module_version_list
process_source_directory
단계의 소스 디렉터리를 처리하고 스크립트가 있는지 확인합니다.
static process_source_directory(name, source_directory, script_name)
매개 변수
Name | Description |
---|---|
name
필수
|
단계의 이름입니다. |
source_directory
필수
|
단계의 원본 디렉터리입니다. |
script_name
필수
|
단계의 스크립트 이름입니다. |
반환
형식 | Description |
---|---|
원본 디렉터리 및 해시 경로입니다. |
예외
형식 | Description |
---|---|
publish
ModuleVersion을 만들고 현재 모듈에 추가합니다.
publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)
매개 변수
Name | Description |
---|---|
description
필수
|
모듈에 대한 설명입니다. |
execution_type
필수
|
모듈의 실행 유형입니다.
허용되는 값은 |
inputs
필수
|
모듈 입력입니다. |
outputs
필수
|
모듈 출력입니다. |
param_defs
|
모듈 매개 변수 정의입니다. Default value: None
|
create_sequencing_ports
|
모듈에 대해 시퀀싱 포트를 만들지 여부를 나타냅니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
is_default
|
게시된 버전이 기본 버전인지 여부를 나타냅니다. Default value: False
|
content_path
|
directory Default value: None
|
hash_paths
|
단계 내용의 변경 내용을 확인할 때 해시할 경로 목록입니다. 검색된 변경 내용이 없으면 파이프라인은 이전 실행의 단계 내용을 재사용합니다. 기본적으로 Default value: None
|
category
|
모듈 버전의 범주 Default value: None
|
arguments
|
모듈을 호출할 때 사용할 인수입니다. 인수는 문자열, 입력 참조(InputPortDef), 출력 참조(OutputPortDef), 파이프라인 매개 변수(PipelineParameter)일 수 있습니다. Default value: None
|
runconfig
|
선택적 RunConfiguration입니다. RunConfiguration을 사용하여 conda 종속성 및 Docker 이미지와 같은 실행에 대한 추가 요구 사항을 지정할 수 있습니다. Default value: None
|
반환
형식 | Description |
---|---|
예외
형식 | Description |
---|---|
publish_adla_script
ADLA(Azure Data Lake Analytics)를 기반으로 ModuleVersion을 만들고 현재 모듈에 추가합니다.
publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)
매개 변수
Name | Description |
---|---|
script_name
필수
|
|
description
필수
|
모듈 버전에 대한 설명입니다. |
inputs
필수
|
모듈 입력 바인딩입니다. |
outputs
필수
|
모듈 출력 바인딩입니다. |
params
|
name-default_value 쌍으로 표시되는 ModuleVersion 매개 변수입니다. Default value: None
|
create_sequencing_ports
|
모듈에 대해 시퀀싱 포트를 만들지 여부를 나타냅니다. Default value: True
|
degree_of_parallelism
|
이 작업에 사용할 병렬 처리 수준입니다. Default value: None
|
priority
|
현재 작업에 사용할 우선 순위 값입니다. Default value: None
|
runtime_version
|
ADLA(Azure Data Lake Analytics) 엔진의 런타임 버전입니다. Default value: None
|
compute_target
|
이 작업에 사용할 ADLA 컴퓨팅입니다. Default value: None
|
version
|
모듈의 버전입니다. Default value: None
|
is_default
|
게시된 버전이 기본 버전인지 여부를 나타냅니다. Default value: False
|
source_directory
|
directory Default value: None
|
hash_paths
|
hash_paths Default value: None
|
category
|
모듈 버전의 범주 Default value: None
|
arguments
|
모듈을 호출할 때 사용할 인수입니다. 인수는 문자열, 입력 참조(InputPortDef), 출력 참조(OutputPortDef), 파이프라인 매개 변수(PipelineParameter)일 수 있습니다. Default value: None
|
반환
형식 | Description |
---|---|
publish_azure_batch
Azure Batch를 사용하는 ModuleVersion을 만들고 현재 모듈에 추가합니다.
publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)
매개 변수
Name | Description |
---|---|
description
필수
|
모듈 버전에 대한 설명입니다. |
compute_target
필수
|
BatchCompute 또는
str
BatchCompute 컴퓨팅 대상입니다. |
inputs
필수
|
모듈 입력 바인딩입니다. |
outputs
필수
|
모듈 출력 바인딩입니다. |
params
|
name-default_value 쌍으로 표시되는 ModuleVersion 매개 변수입니다. Default value: None
|
create_sequencing_ports
|
모듈에 대해 시퀀싱 포트를 만들지 여부를 나타냅니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
is_default
|
게시된 버전이 기본 버전인지 여부를 나타냅니다. Default value: False
|
create_pool
|
작업을 실행하기 전에 풀을 만들지 여부를 나타냅니다. Default value: False
|
pool_id
|
(필수) 작업이 실행될 풀의 ID입니다. Default value: None
|
delete_batch_job_after_finish
|
작업이 완료된 후 배치 계정에서 작업을 삭제할지 여부를 나타냅니다. Default value: False
|
delete_batch_pool_after_finish
|
작업이 완료된 후 풀을 삭제할지 여부를 나타냅니다. Default value: False
|
is_positive_exit_code_failure
|
작업이 양수 코드와 함께 존재하는 경우 작업이 실패하는지 여부를 나타냅니다. Default value: True
|
vm_image_urn
|
Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
run_task_as_admin
|
작업을 관리자 권한으로 실행해야 하는지 여부를 나타냅니다. Default value: False
|
target_compute_nodes
|
Default value: 1
|
vm_size
|
Default value: standard_d1_v2
|
executable
|
작업의 일부로 실행될 명령/실행 파일의 이름입니다. Default value: None
|
source_directory
|
소스 디렉터리입니다. Default value: None
|
category
|
모듈 버전의 범주 Default value: None
|
arguments
|
모듈을 호출할 때 사용할 인수입니다. 인수는 문자열, 입력 참조(InputPortDef), 출력 참조(OutputPortDef), 파이프라인 매개 변수(PipelineParameter)일 수 있습니다. Default value: None
|
반환
형식 | Description |
---|---|
예외
형식 | Description |
---|---|
publish_python_script
Python 스크립트를 기반으로 하는 ModuleVersion을 만들고 현재 모듈에 추가합니다.
publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)
매개 변수
Name | Description |
---|---|
script_name
필수
|
|
description
필수
|
모듈 버전에 대한 설명입니다. |
inputs
필수
|
모듈 입력 바인딩입니다. |
outputs
필수
|
모듈 출력 바인딩입니다. |
params
|
name-default_value 쌍으로 표시되는 ModuleVersion 매개 변수입니다. Default value: None
|
create_sequencing_ports
|
모듈에 대해 시퀀싱 포트를 만들지 여부를 나타냅니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
is_default
|
게시된 버전이 기본 버전인지 여부를 나타냅니다. Default value: False
|
source_directory
|
directory Default value: None
|
hash_paths
|
단계 내용의 변경 내용을 확인할 때 해시할 경로 목록입니다. 검색된 변경 내용이 없으면 파이프라인은 이전 실행의 단계 내용을 재사용합니다. 기본적으로 Default value: None
|
category
|
모듈 버전의 범주 Default value: None
|
arguments
|
모듈을 호출할 때 사용할 인수입니다. 인수는 문자열, 입력 참조(InputPortDef), 출력 참조(OutputPortDef), 파이프라인 매개 변수(PipelineParameter)일 수 있습니다. Default value: None
|
runconfig
|
선택적 RunConfiguration입니다. RunConfiguration을 사용하여 conda 종속성 및 Docker 이미지와 같은 실행에 대한 추가 요구 사항을 지정할 수 있습니다. Default value: None
|
반환
형식 | Description |
---|---|
resolve
올바른 ModuleVersion을 확인하고 반환합니다.
resolve(version=None)
매개 변수
Name | Description |
---|---|
version
|
Default value: None
|
반환
형식 | Description |
---|---|
사용할 모듈 버전입니다. |
set_default_version
모듈의 기본 ModuleVersion을 설정합니다.
set_default_version(version_id)
매개 변수
Name | Description |
---|---|
version_id
필수
|
|
반환
형식 | Description |
---|---|
기본 버전입니다. |
예외
형식 | Description |
---|---|
set_description
모듈에 대한 설명을 설정합니다.
set_description(description)
매개 변수
Name | Description |
---|---|
description
필수
|
설정할 설명입니다. |
예외
형식 | Description |
---|---|
set_name
모듈의 이름을 설정합니다.
set_name(name)
매개 변수
Name | Description |
---|---|
name
필수
|
설정할 이름입니다. |
예외
형식 | Description |
---|---|