다음을 통해 공유


PipelineStep 클래스

Azure Machine Learning 파이프라인의 실행 단계를 나타냅니다.

파이프라인은 파이프라인의 고유한 계산 단위인 여러 파이프라인 단계에서 생성됩니다. 각 단계는 독립적으로 실행되고 격리된 컴퓨팅 리소스를 사용할 수 있습니다. 각 단계에는 일반적으로 고유한 명명된 입력, 출력 및 매개 변수가 있습니다.

PipelineStep 클래스는 일반적인 시나리오를 위해 설계된 다른 기본 제공 단계 클래스(예: PythonScriptStep, DataTransferStepHyperDriveStep)를 상속하는 기본 클래스입니다.

Pipelines 및 PipelineSteps의 관계에 대한 개요는 ML 파이프라인이란?을 참조하세요.

PipelineStep을 초기화합니다.

생성자

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

매개 변수

Name Description
name
필수
str

파이프라인 단계의 이름입니다.

inputs
필수

단계 입력 목록입니다.

outputs
필수

단계 출력 목록입니다.

arguments

단계에서 사용되는 스크립트에 전달할 인수의 선택적 목록입니다.

Default value: None
fix_port_name_collisions

이름 충돌을 수정할지 여부를 지정합니다. True이고 입력 및 출력의 이름이 같으면 입력 앞에 "INPUT"이 옵니다. 기본값은 False입니다.

Default value: False
resource_inputs

리소스로 사용할 입력의 선택적 목록입니다. 리소스는 스크립트 폴더에 다운로드되고 런타임에 스크립트 동작을 변경하는 방법을 제공합니다.

Default value: None
name
필수
str

파이프라인 단계의 이름입니다.

inputs
필수

단계 입력 목록입니다.

outputs
필수

단계 출력 목록입니다.

arguments
필수

단계에서 사용되는 스크립트에 전달할 인수의 선택적 목록입니다.

fix_port_name_collisions
필수

이름 충돌을 수정할지 여부를 지정합니다. True이고 입력 및 출력의 이름이 같으면 입력 앞에 "INPUT"이 옵니다. 기본값은 False입니다.

resource_inputs
필수

리소스로 사용할 입력의 선택적 목록입니다. 리소스는 스크립트 폴더에 다운로드되고 런타임에 스크립트 동작을 변경하는 방법을 제공합니다.

설명

PipelineStep은 일반적으로 실행 대상(컴퓨팅 대상), 선택적 스크립트 인수 및 입력으로 실행할 스크립트가 필요하며 출력을 생성할 수 있는 실행 단위입니다. 이 단계에서는 단계와 관련된 여러 다른 매개 변수를 취할 수도 있습니다.

파이프라인 단계를 함께 구성하여 공유 가능하고 재사용 가능한 Azure Machine Learning 워크플로를 나타내는 파이프라인 단계를 구성할 Pipeline수 있습니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되는 경우 이전 실행 결과를 다시 사용할 수 있도록 파이프라인의 각 단계를 구성할 수 있습니다. 단계를 다시 사용할 때 작업을 컴퓨팅에 제출하는 대신 이전 실행의 결과를 후속 단계에서 즉시 사용할 수 있습니다.

Azure Machine Learning 파이프라인은 일반적인 시나리오에 대한 기본 제공 단계를 제공합니다. 예제는 패키지 및 클래스를 steps 참조 AutoMLStep 하세요. 미리 빌드된 단계에 따라 파이프라인을 생성하는 개요는 다음을 참조하세요 https://aka.ms/pl-first-pipeline.

PipelineStep에서 파생된 미리 빌드된 단계는 하나의 파이프라인에서 사용되는 단계입니다. 사용 기계 학습 워크플로에서 여러 파이프라인에서 버전 관리 및 사용할 수 있는 단계를 만들어야 하는 경우 클래스를 Module 사용합니다.

파이프라인 단계, 입력/출력 데이터 및 단계 재사용을 사용할 때는 다음 사항에 유의하세요.

  • 별도의 단계에 대해 별도의 source_directory 위치를 사용하는 것이 좋습니다. 파이프라인 단계의 모든 스크립트가 단일 디렉터리에 있는 경우 한 스크립트를 변경할 때마다 해당 디렉터리의 해시가 변경되어 모든 단계를 강제로 다시 실행합니다. 다른 단계에 별도의 디렉터리를 사용하는 예제는 다음을 참조하세요 https://aka.ms/pl-get-started.

  • 각 단계에 대해 스크립트 및 종속 파일에 대해 별도의 폴더를 유지 관리하면 특정 폴더만 스냅샷이 생성되므로 각 단계에 대해 생성된 스냅샷의 크기를 줄일 수 있습니다. 단계의 source_directory 파일의 변경 내용이 스냅샷의 다시 업로드를 트리거하기 때문에 각 단계마다 별도의 폴더를 유지 관리하면 단계의 source_directory 변경 내용이 없으면 단계의 이전 실행이 다시 사용되기 때문에 파이프라인의 단계를 과도하게 재사용하는 데 도움이 됩니다.

  • 단계에서 사용된 데이터가 데이터 저장소에 있고 allow_reuse True이면 데이터 변경 내용이 검색되지 않습니다. 데이터가 스냅샷의 일부로 업로드되는 경우(단계의 source_directory 아래) 권장되지는 않지만 해시가 변경되고 다시 실행이 트리거됩니다.

메서드

create_input_output_bindings

단계 입력 및 출력에서 입력 및 출력 바인딩을 만듭니다.

create_module_def

단계를 설명하는 모듈 정의 개체를 만듭니다.

create_node

이 단계를 기반으로 파이프라인 그래프에 대한 노드를 만듭니다.

get_source_directory

단계에 대한 원본 디렉터리를 가져와서 스크립트가 있는지 확인합니다.

resolve_input_arguments

입력 및 출력을 인수에 일치하여 인수 문자열을 생성합니다.

run_after

지정된 단계 후에 이 단계를 실행합니다.

validate_arguments

인수에 제공된 단계 입력 및 출력이 입력 및 출력 목록에 있는지 확인합니다.

create_input_output_bindings

단계 입력 및 출력에서 입력 및 출력 바인딩을 만듭니다.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

매개 변수

Name Description
inputs
필수

단계 입력 목록입니다.

outputs
필수

단계 출력 목록입니다.

default_datastore
필수

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

resource_inputs

리소스로 사용할 입력 목록입니다. 리소스는 스크립트 폴더에 다운로드되고 런타임에 스크립트 동작을 변경하는 방법을 제공합니다.

Default value: None

반환

형식 Description

입력 바인딩 및 출력 바인딩의 튜플입니다.

create_module_def

단계를 설명하는 모듈 정의 개체를 만듭니다.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

매개 변수

Name Description
execution_type
필수
str

모듈의 실행 유형입니다.

input_bindings
필수

단계 입력 바인딩입니다.

output_bindings
필수

단계 출력 바인딩입니다.

param_defs

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

Default value: None
create_sequencing_ports

모듈에 대해 시퀀싱 포트를 만들지 여부를 지정합니다.

Default value: True
allow_reuse

모듈을 향후 파이프라인에서 다시 사용할 수 있는지 여부를 지정합니다.

Default value: True
version
str

모듈의 버전입니다.

Default value: None
module_type
str

만들 모듈 만들기 서비스에 대한 모듈 형식입니다. 현재 'None' 및 'BatchInferencing'의 두 가지 형식만 지원됩니다. module_type 는 이 모듈을 실행하는 데 사용할 백 엔드 서비스의 종류를 지정하는 것과 다릅니다 execution_type .

Default value: None
arguments

이 모듈을 호출할 때 사용할 주석이 추가된 인수 목록

Default value: None
runconfig
str

python_script_step 사용할 Runconfig

Default value: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

클라우드에 사용할 설정

Default value: None

반환

형식 Description

모듈 정의 개체입니다.

create_node

이 단계를 기반으로 파이프라인 그래프에 대한 노드를 만듭니다.

abstract create_node(graph, default_datastore, context)

매개 변수

Name Description
graph
필수

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

default_datastore
필수

이 단계에 사용할 기본 데이터 저장소입니다.

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

그래프 컨텍스트 개체입니다.

반환

형식 Description

만든 노드입니다.

get_source_directory

단계에 대한 원본 디렉터리를 가져와서 스크립트가 있는지 확인합니다.

get_source_directory(context, source_directory, script_name)

매개 변수

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

그래프 컨텍스트 개체입니다.

source_directory
필수
str

단계의 원본 디렉터리입니다.

script_name
필수
str

단계의 스크립트 이름입니다.

hash_paths
필수

모듈 지문을 확인할 때 사용할 해시 경로입니다.

반환

형식 Description

원본 디렉터리 및 해시 경로입니다.

resolve_input_arguments

입력 및 출력을 인수에 일치하여 인수 문자열을 생성합니다.

static resolve_input_arguments(arguments, inputs, outputs, params)

매개 변수

Name Description
arguments
필수

단계 인수 목록입니다.

inputs
필수

단계 입력 목록입니다.

outputs
필수

단계 출력 목록입니다.

params
필수

단계 매개 변수 목록입니다.

반환

형식 Description

두 항목의 튜플을 반환합니다. 첫 번째는 확인된 인수에 대한 항목의 플랫 목록입니다. 두 번째는 구조화된 인수(_InputArgument, _OutputArgument, _ParameterArgument 및 _StringArgument) 목록입니다.

run_after

지정된 단계 후에 이 단계를 실행합니다.

run_after(step)

매개 변수

Name Description
step
필수

이 단계 전에 실행할 파이프라인 단계입니다.

설명

1단계와 2단계가 모두 완료된 후 3단계를 실행하려면 다음을 사용할 수 있습니다.


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

인수에 제공된 단계 입력 및 출력이 입력 및 출력 목록에 있는지 확인합니다.

static validate_arguments(arguments, inputs, outputs)

매개 변수

Name Description
arguments
필수

단계 인수 목록입니다.

inputs
필수

단계 입력 목록입니다.

outputs
필수

단계 출력 목록입니다.