다음을 통해 공유


Pipeline 클래스

재사용 가능한 Azure Machine Learning 워크플로로 실행할 수 있는 단계의 컬렉션을 나타냅니다.

파이프라인을 사용하여 다양한 기계 학습 단계를 함께 연결하는 워크플로를 만들고 관리합니다. 데이터 준비 및 모델 학습과 같은 각 기계 학습 단계는 파이프라인에서 하나 이상의 단계로 구성될 수 있습니다.

파이프라인을 사용하는 이유와 시기에 대한 개요는 다음을 참조하세요 https://aka.ms/pl-concept.

파이프라인 생성에 대한 개요는 다음을 참조하세요 https://aka.ms/pl-first-pipeline.

파이프라인을 초기화합니다.

생성자

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

매개 변수

Name Description
workspace
필수

파이프라인을 제출할 작업 영역입니다.

steps
필수

파이프라인의 일부로 실행할 단계 목록입니다.

description
필수
str

파이프라인에 대한 설명입니다.

default_datastore
필수

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

default_source_directory
필수
str

스크립트를 실행하는 단계의 기본 스크립트 디렉터리입니다.

resolve_closure
필수

닫기를 해결할지 여부(자동으로 종속 단계 가져오기).

workspace
필수

파이프라인을 제출할 작업 영역입니다.

steps
필수

파이프라인의 일부로 실행할 단계 목록입니다.

description
필수
str

파이프라인에 대한 설명입니다.

default_datastore
필수

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

default_source_directory
필수
str

스크립트를 실행하는 단계의 기본 스크립트 디렉터리입니다.

resolve_closure
필수

닫기 확인 여부(자동으로 종속 단계 가져오기).

_workflow_provider
필수
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

아무도 만들어지지 않은 경우 워크플로 공급자입니다.

_service_endpoint
필수
str

서비스 엔드포인트입니다. 없음이면 작업 영역을 사용하여 결정됩니다.

kwargs
필수

향후 개발을 위해 예약된 사용자 지정 키워드 인수

설명

단계 목록과 작업 영역이 포함된 파이프라인이 만들어집니다. 파이프라인에서 사용할 수 있는 여러 단계 유형이 있습니다. 기계 학습 시나리오에 따라 단계 유형을 선택합니다.

  • Azure Machine Learning 파이프라인은 일반적인 시나리오에 대한 기본 제공 단계를 제공합니다. PipelineStep에서 파생된 미리 빌드된 단계는 하나의 파이프라인에서 사용되는 단계입니다. 예제는 패키지 및 클래스를 steps 참조 AutoMLStep 하세요.

  • 사용 기계 학습 워크플로에서 여러 파이프라인에서 버전 관리 및 사용할 수 있는 단계를 만들어야 하는 경우 모듈의 Module 기능을 사용합니다.

를 사용하여 파이프라인을 제출합니다 submit. 제출이 호출 PipelineRun 되면 워크플로의 각 단계에 대한 개체가 만들어집니다 StepRun . 이러한 개체를 사용하여 실행 실행을 모니터링합니다.

파이프라인을 제출하는 예제는 다음과 같습니다.


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

파이프라인의 제출에 지정할 수 있는 여러 가지 선택적 설정이 submit있습니다.

  • continue_on_step_failure: 단계가 실패할 경우 파이프라인 실행을 계속할지 여부입니다. 기본값은 False입니다. True이면 실패한 단계의 출력에 대한 종속성이 없는 단계만 계속 실행됩니다.

  • regenerate_outputs: 모든 단계 출력을 강제로 다시 생성하고 이 실행에 대한 데이터 재사용을 허용하지 않는지 여부는 기본값은 False입니다.

  • pipeline_parameters: 파이프라인 실행에 대한 매개 변수, {name: value}의 사전입니다. 자세한 내용은 PipelineParameter 참조하세요.

  • parent_run_id: RunHistory에 반영되는 이 파이프라인 실행의 부모 실행을 설정하는 실행 ID를 제공할 수 있습니다. 부모 실행은 이 파이프라인이 제출되는 동일한 실험에 속해야 합니다.

이러한 설정을 사용하여 파이프라인을 제출하는 예제는 다음과 같습니다.


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline,
                                    continue_on_step_failure=True,
                                    regenerate_outputs=True,
                                    pipeline_parameters={"param1": "value1"},
                                    parent_run_id="<run_id>")

메서드

load_yaml

지정된 YAML 파일에서 파이프라인을 로드합니다.

YAML 파일을 사용하여 ModuleSteps로 구성된 파이프라인을 설명할 수 있습니다.

publish

파이프라인을 게시하고 다시 실행할 수 있도록 합니다.

파이프라인이 게시되면 파이프라인을 생성한 Python 코드 없이 제출할 수 있습니다. 만든 PublishedPipeline을 반환합니다.

service_endpoint

파이프라인과 연결된 서비스 엔드포인트를 가져옵니다.

submit

파이프라인 실행을 제출합니다. 이는 .를 사용하는 submit것과 같습니다.

제출된 을 PipelineRun반환합니다. 이 개체를 사용하여 실행 세부 정보를 모니터링하고 볼 수 있습니다.

validate

파이프라인의 유효성을 검사하고 연결되지 않은 입력과 같은 잠재적 오류를 식별합니다.

load_yaml

지정된 YAML 파일에서 파이프라인을 로드합니다.

YAML 파일을 사용하여 ModuleSteps로 구성된 파이프라인을 설명할 수 있습니다.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

매개 변수

Name Description
workspace
필수

파이프라인을 제출할 작업 영역입니다.

filename
필수
str

파이프라인을 설명하는 YAML 파일입니다.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

워크플로 공급자입니다.

Default value: None
_service_endpoint
str

서비스 엔드포인트(None인 경우)는 작업 영역을 사용하여 결정됩니다.

Default value: None

반환

형식 Description

생성된 파이프라인입니다.

설명

YAML 파일 예제는 아래를 참조하세요. YAML에는 파이프라인의 이름, default_compute 및 매개 변수 목록, 데이터 참조 및 단계가 포함됩니다. 각 단계에서는 모듈, 컴퓨팅 및 매개 변수, 입력 및 출력 바인딩을 지정해야 합니다. 또한 필요한 경우 단계 runconfig 및 인수를 지정할 수 있습니다.

샘플 Yaml 파일:


   pipeline:
       description: SamplePipelineFromYaml
       parameters:
           NumIterationsParameter:
               type: int
               default: 40
           DataPathParameter:
               type: datapath
               default:
                   datastore: workspaceblobstore
                   path_on_datastore: sample2.txt
           NodeCountParameter:
               type: int
               default: 4
       data_references:
           DataReference:
               datastore: workspaceblobstore
               path_on_datastore: testfolder/sample.txt
           Dataset:
               dataset_name: 'titanic'
       default_compute: aml-compute
       steps:
           PrepareStep:
               type:  ModuleStep
               name: "TestModule"
               compute: aml-compute2
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input1'
               -input:in1
               -'--input2'
               -input:in2
               -'--input3'
               -input:in3
               -'--output'
               -output:output_data
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS:
                       source: NumIterationsParameter
               inputs:
                   in1:
                       source: Dataset
                       bind_mode: mount
                   in2:
                       source: DataReference
                   in3:
                       source: DataPathParameter
               outputs:
                   output_data:
                       destination: Output1
                       datastore: workspaceblobstore
                       bind_mode: mount
           TrainStep:
               type: ModuleStep
               name: "TestModule2"
               version: "2"
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input'
               -input:train_input
               -'--output'
               -output:result
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS: 10
               runconfig_parameters:
                   NodeCount:
                       source: NodeCountParameter
               inputs:
                   train_input:
                       source: Output1
                       bind_mode: mount
               outputs:
                   result:
                       destination: Output2
                       datastore: workspaceblobstore
                       bind_mode: mount

publish

파이프라인을 게시하고 다시 실행할 수 있도록 합니다.

파이프라인이 게시되면 파이프라인을 생성한 Python 코드 없이 제출할 수 있습니다. 만든 PublishedPipeline을 반환합니다.

publish(name=None, description=None, version=None, continue_on_step_failure=None)

매개 변수

Name Description
name
str

게시된 파이프라인의 이름입니다.

Default value: None
description
str

게시된 파이프라인에 대한 설명입니다.

Default value: None
version
str

게시된 파이프라인의 버전입니다.

Default value: None
continue_on_step_failure

단계가 실패할 경우 PipelineRun에서 다른 단계를 계속 실행할지 여부를 나타냅니다. 기본값은 false입니다. True이면 실패한 단계의 출력에 대한 종속성이 없는 단계만 계속 실행됩니다.

Default value: None

반환

형식 Description

게시된 파이프라인을 만들었습니다.

service_endpoint

파이프라인과 연결된 서비스 엔드포인트를 가져옵니다.

service_endpoint()

반환

형식 Description
str

서비스 엔드포인트입니다.

submit

파이프라인 실행을 제출합니다. 이는 .를 사용하는 submit것과 같습니다.

제출된 을 PipelineRun반환합니다. 이 개체를 사용하여 실행 세부 정보를 모니터링하고 볼 수 있습니다.

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

매개 변수

Name Description
experiment_name
필수
str

파이프라인을 제출할 실험의 이름입니다.

pipeline_parameters

파이프라인 실행에 대한 매개 변수, {name: value}의 사전입니다. 자세한 내용은 PipelineParameter 참조하세요.

Default value: None
continue_on_step_failure

단계가 실패할 경우 파이프라인 실행을 계속할지 여부를 나타냅니다. True이면 실패한 단계의 출력에 대한 종속성이 없는 단계만 계속 실행됩니다.

Default value: False
regenerate_outputs

모든 단계 출력을 강제로 다시 생성하고 이 실행에 대한 데이터 재사용을 허용하지 않는지 여부를 나타냅니다. False인 경우 이 실행은 이전 실행의 결과를 다시 사용할 수 있으며 후속 실행은 이 실행의 결과를 다시 사용할 수 있습니다.

Default value: False
parent_run_id
str

RunHistory에 반영되는 이 파이프라인 실행의 부모 실행에 대해 설정할 선택적 실행 ID입니다. 부모 실행은 이 파이프라인이 제출되는 것과 동일한 실험에 속해야 합니다.

Default value: None
credential_passthrough

선택 사항으로, 이 플래그를 사용하도록 설정하면 원격 파이프라인 작업이 작업을 시작한 사용자의 자격 증명을 사용합니다. 이 기능은 프라이빗 미리 보기에서만 사용할 수 있습니다.

Default value: None

반환

형식 Description

제출된 파이프라인 실행입니다.

validate

파이프라인의 유효성을 검사하고 연결되지 않은 입력과 같은 잠재적 오류를 식별합니다.

validate()

반환

형식 Description

파이프라인의 오류 목록입니다.

설명

유효성 검사 오류의 예는 다음과 같습니다.

  • 누락되거나 예기치 않은 파이프라인 데이터 원본 또는 단계 유형

  • 파이프라인 데이터 원본 또는 단계에 대한 매개 변수 또는 출력 정의 누락

  • 연결되지 않은 입력

  • 루프 또는 주기를 형성하는 파이프라인 단계

유효성 검사가 통과되고(빈 목록을 반환) 파이프라인이 작동하지 않는 경우 디버그를 참조하고 기계 학습 파이프라인 문제를 해결합니다.

특성

graph

파이프라인과 연결된 그래프를 가져옵니다. 단계 및 데이터 입력은 그래프에 노드로 표시됩니다.

반환

형식 Description

그래프입니다.