CommandStep 클래스
명령을 실행하는 Azure ML 파이프라인 단계를 만듭니다.
명령을 실행하는 Azure ML 파이프라인 단계를 만듭니다.
생성자
CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)
매개 변수
Name | Description |
---|---|
command
|
를 기준으로 실행/스크립트를 실행할 명령 또는 경로입니다 Default value: None
|
name
|
단계의 이름입니다. 지정되지 않은 경우 첫 번째 단어가 Default value: None
|
compute_target
|
사용할 컴퓨팅 대상입니다. 지정되지 않은 경우 대상의 Default value: None
|
runconfig
|
실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 선택적 구성 개체입니다. Default value: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 런타임 시 runconfig 속성을 재정의합니다. 지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' Default value: None
|
inputs
|
list[InputPortBinding 또는
DataReference 또는
PortDataReference 또는
PipelineData 또는
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> 또는
DatasetConsumptionConfig]
입력 포트 바인딩 목록입니다. Default value: None
|
outputs
|
출력 포트 바인딩 목록입니다. Default value: None
|
params
|
"AML_PARAMETER_"을 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다. Default value: None
|
source_directory
|
단계에서 사용되는 스크립트, conda env 및 기타 리소스가 포함된 폴더입니다. Default value: None
|
allow_reuse
|
동일한 설정으로 다시 실행할 때 단계가 이전 결과를 다시 사용해야 하는지 여부를 나타냅니다. 재사용은 기본적으로 사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행의 출력이 다시 사용됩니다. 단계를 다시 사용할 때 작업을 컴퓨팅에 제출하는 대신 이전 실행의 결과를 후속 단계에서 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 다시 사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다. Default value: True
|
version
|
단계의 기능 변경을 나타내는 선택적 버전 태그입니다. Default value: None
|
command
필수
|
를 기준으로 실행/스크립트를 실행할 명령 또는 경로입니다 |
name
필수
|
단계의 이름입니다. 지정되지 않은 경우 첫 번째 단어가 |
compute_target
필수
|
사용할 컴퓨팅 대상입니다. 지정되지 않은 경우 대상의 |
runconfig
필수
|
실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 선택적 구성 개체입니다. |
runconfig_pipeline_params
필수
|
<xref:<xref:{str: PipelineParameter}>>
각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 런타임 시 runconfig 속성을 재정의합니다. 지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
inputs
필수
|
list[InputPortBinding 또는
DataReference 또는
PortDataReference 또는
PipelineData 또는
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> 또는
DatasetConsumptionConfig]
입력 포트 바인딩 목록입니다. |
outputs
필수
|
출력 포트 바인딩 목록입니다. |
params
필수
|
"AML_PARAMETER_"을 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다. |
source_directory
필수
|
단계에서 사용되는 스크립트, conda env 및 기타 리소스가 포함된 폴더입니다. |
allow_reuse
필수
|
동일한 설정으로 다시 실행할 때 단계가 이전 결과를 다시 사용해야 하는지 여부를 나타냅니다. 재사용은 기본적으로 사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행의 출력이 다시 사용됩니다. 단계를 다시 사용할 때 작업을 컴퓨팅에 제출하는 대신 이전 실행의 결과를 후속 단계에서 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 다시 사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다. |
version
필수
|
단계의 기능 변경을 나타내는 선택적 버전 태그입니다. |
설명
CommandStep은 지정된 컴퓨팅 대상에서 명령을 실행하는 기본 기본 단계입니다. 명령을 매개 변수로 사용하거나 runconfig와 같은 다른 매개 변수에서 사용합니다. 또한 컴퓨팅 대상, 입력 및 출력과 같은 다른 선택적 매개 변수를 사용합니다. 사용자 지정 Docker 이미지와 같은 CommandStep에 대한 요구 사항을 사용 ScriptRunConfig 하거나 RunConfiguration 지정해야 합니다.
CommandStep을 사용하는 가장 좋은 방법은 실행 파일 또는 스크립트에 별도의 폴더를 사용하여 단계와 연결된 종속 파일을 실행하고 매개 변수를 사용하여 해당 폴더를 source_directory
지정하는 것입니다. 이 모범 사례에 따르면 두 가지 이점이 있습니다. 먼저 단계에 필요한 것만 스냅샷으로 만들어지므로 단계에 대해 만든 스냅샷의 크기를 줄이는 데 도움이 됩니다.
둘째, 스냅샷의 다시 업로드를 트리거하는 변경 내용 source_directory
이 없는 경우 이전 실행의 단계 출력을 다시 사용할 수 있습니다.
시스템 알려진 명령 source_directory
의 경우 필수는 아니지만 단계와 연결된 종속 파일을 계속 제공할 수 있습니다.
다음 코드 예제에서는 기계 학습 학습 시나리오에서 CommandStep을 사용하는 방법을 보여 줍니다. Linux에서 파일을 나열하려면 다음을 수행합니다.
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
Python 스크립트를 실행하려면 다음을 수행합니다.
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='train step',
command='python train.py arg1 arg2',
source_directory=project_folder,
compute_target=compute_target)
ScriptRunConfig를 통해 Python 스크립트를 실행하려면 다음을 수행합니다.
from azureml.core import ScriptRunConfig
from azureml.pipeline.steps import CommandStep
train_src = ScriptRunConfig(source_directory=script_folder,
command='python train.py arg1 arg2',
environment=my_env)
trainStep = CommandStep(name='train step',
runconfig=train_src)
일반적으로 파이프라인을 만드는 방법에 대한 자세한 내용은 참조 https://aka.ms/pl-first-pipeline 하세요.
메서드
create_node |
CommandStep에 대한 노드를 만들고 지정된 그래프에 추가합니다. 이 메서드는 직접 사용할 수 없습니다. 이 단계로 파이프라인이 인스턴스화되면 Azure ML은 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있도록 이 메서드를 통해 필요한 매개 변수를 자동으로 전달합니다. |
create_node
CommandStep에 대한 노드를 만들고 지정된 그래프에 추가합니다.
이 메서드는 직접 사용할 수 없습니다. 이 단계로 파이프라인이 인스턴스화되면 Azure ML은 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있도록 이 메서드를 통해 필요한 매개 변수를 자동으로 전달합니다.
create_node(graph, default_datastore, context)
매개 변수
Name | Description |
---|---|
graph
필수
|
노드를 추가할 그래프 개체입니다. |
default_datastore
필수
|
기본 데이터 저장소입니다. |
context
필수
|
<xref:_GraphContext>
그래프 컨텍스트입니다. |
반환
형식 | Description |
---|---|
만든 노드입니다. |