Pipeline 클래스
재사용 가능한 Azure Machine Learning 워크플로로 실행할 수 있는 단계 컬렉션을 나타냅니다.
파이프라인을 사용하여 다양한 기계 학습 단계를 연결하는 워크플로를 생성하고 관리합니다. 데이터 준비 및 모델 학습과 같은 각 기계 학습 단계는 파이프라인에서 하나 이상의 단계로 구성될 수 있습니다.
파이프라인을 사용하는 이유와 시기에 대한 개요는 https://aka.ms/pl-concept를 참조하세요.
파이프라인 구성에 대한 개요는 https://aka.ms/pl-first-pipeline을 참조하세요.
파이프라인을 초기화합니다.
- 상속
-
builtins.objectPipeline
생성자
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
필수
|
파이프라인에 대한 설명입니다. |
default_datastore
필수
|
데이터 연결에 사용할 기본 데이터 저장소입니다. |
default_source_directory
필수
|
스크립트를 실행하는 단계에 대한 기본 스크립트 디렉터리입니다. |
resolve_closure
필수
|
닫기를 해결할지 여부(자동으로 종속 단계 가져오기)를 결정합니다. |
workspace
필수
|
파이프라인을 제출할 작업 영역입니다. |
steps
필수
|
파이프라인의 일부로 실행할 단계 목록입니다. |
description
필수
|
파이프라인에 대한 설명입니다. |
default_datastore
필수
|
데이터 연결에 사용할 기본 데이터 저장소입니다. |
default_source_directory
필수
|
스크립트를 실행하는 단계에 대한 기본 스크립트 디렉터리입니다. |
resolve_closure
필수
|
resolve 닫을지 여부(자동으로 종속 단계 가져오기). |
_workflow_provider
필수
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
아무도 만들어지지 않은 경우 워크플로 공급자입니다. |
_service_endpoint
필수
|
서비스 엔드포인트입니다. 없음이면 작업 영역을 사용하여 결정됩니다. |
kwargs
필수
|
향후 개발을 위해 예약된 사용자 지정 키워드 인수입니다. |
설명
파이프라인은 단계 목록과 작업 영역으로 생성됩니다. 파이프라인에서 사용할 수 있는 여러 단계 형식이 있습니다. 기계 학습 시나리오에 맞는 단계 형식을 선택하면 됩니다.
Azure Machine Learning Pipelines는 일반적인 시나리오에 대한 기본 제공 단계를 제공합니다. PipelineStep에서 파생된 이미 빌드된 단계는 하나의 파이프라인에 사용되는 단계입니다. 예제는 steps 패키지 및 AutoMLStep 클래스를 참조하세요.
기계 학습 워크플로 호출을 사용하여 여러 파이프라인에서 버전을 관리하고 사용할 수 있는 단계를 만들려면 Module 모듈의 기능을 사용합니다.
submit을 사용하여 파이프라인을 제출합니다. 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
필수
|
파이프라인을 설명하는 YAML 파일입니다. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
워크플로 공급자입니다. Default value: None
|
_service_endpoint
|
서비스 엔드포인트입니다. 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
|
게시된 파이프라인의 이름입니다. Default value: None
|
description
|
게시된 파이프라인에 대한 설명입니다. Default value: None
|
version
|
게시된 파이프라인의 버전입니다. Default value: None
|
continue_on_step_failure
|
단계가 실패하는 경우 PipelineRun의 다른 단계를 계속 실행할지 여부를 나타냅니다. 기본값은 false입니다. True로 설정하면 실패한 단계의 출력에 종속되지 않은 단계만 계속 실행됩니다. Default value: None
|
반환
형식 | Description |
---|---|
생성하여 게시된 파이프라인입니다. |
service_endpoint
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
필수
|
파이프라인을 제출할 실험의 이름입니다. |
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
|
RunHistory에 반영된 이 파이프라인 실행의 부모 실행에 대해 설정할 선택적 실행 ID입니다. 부모 실행은 이 파이프라인이 제출되는 동일한 실험에 속해야 합니다. Default value: None
|
credential_passthrough
|
선택 사항으로, 이 플래그가 사용하도록 설정된 경우 원격 파이프라인 작업은 작업을 시작한 사용자의 자격 증명을 사용합니다. 이 기능은 프라이빗 미리 보기에서만 사용할 수 있습니다. Default value: None
|
반환
형식 | Description |
---|---|
제출된 파이프라인 실행입니다. |
validate
파이프라인의 유효성을 검사하고 연결되지 않은 입력과 같은 잠재적 오류를 식별합니다.
validate()
반환
형식 | Description |
---|---|
파이프라인의 오류 목록입니다. |
설명
다음은 유효성 검사 오류 사례입니다.
누락되거나 예기치 않은 파이프라인 데이터 원본 또는 단계 형식
파이프라인 데이터 원본 또는 단계에 대한 매개 변수 또는 출력 정의 누락
연결되지 않은 입력
루프 또는 주기를 형성하는 파이프라인 단계
유효성 검사를 통과(빈 목록을 반환)해도 파이프라인이 작동하지 않는 경우 Debug and troubleshoot machine learning pipelines(기계 학습 파이프라인 디버그 및 문제 해결)를 참조하세요.