RScriptStep 클래스
참고
이는 실험적인 클래스이며 언제든지 변경될 수 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요.
R 스크립트를 실행하는 Azure ML Pipeline 단계를 생성합니다.
R 스크립트를 실행하는 Azure ML 파이프라인 단계를 만듭니다.
사용되지 않습니다. CommandStep을 대신 사용합니다. 예제는 CommandStep을 사용하여 파이프라인에서 R 스크립트를 실행하는 방법을 참조하세요.
- 상속
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseRScriptStep
생성자
RScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, use_gpu=False, custom_docker_image=None, cran_packages=None, github_packages=None, custom_url_packages=None, allow_reuse=True, version=None)
매개 변수
Name | Description |
---|---|
script_name
필수
|
[필수] |
name
필수
|
단계의 이름입니다. 지정하지 않으면 |
arguments
필수
|
R 스크립트 파일의 명령줄 인수입니다. 이 인수는 RunConfiguration의 |
compute_target
필수
|
[필수] 사용할 컴퓨팅 대상입니다. 지정하지 않으면 |
runconfig
필수
|
[필수] 실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 구성을 실행합니다. RSection에서 정의할 수 있는 R 실행 구성을 정의하는 데 필요합니다. 이 단계에는 RSection이 필요합니다. |
runconfig_pipeline_params
필수
|
런타임에 각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 runconfig 속성을 재정의합니다. 지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
inputs
필수
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
입력 포트 바인딩 목록입니다. |
outputs
필수
|
출력 포트 바인딩 목록입니다. |
params
필수
|
"AML_PARAMETER_"를 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다. |
source_directory
필수
|
R 스크립트, conda env 및 이 단계에서 사용되는 기타 리소스가 포함되는 폴더입니다. |
use_gpu
필수
|
실험을 실행할 환경에서 GPU를 지원해야 하는지 여부를 나타냅니다.
True인 경우 환경에서 GPU 기반 기본 Docker 이미지가 사용됩니다. False인 경우 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 사용자가 |
custom_docker_image
필수
|
학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다. 설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. DockerSection의 base_image를 대신 사용하세요. |
cran_packages
필수
|
설치할 CRAN 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.cran_packages를 대신 사용하세요. |
github_packages
필수
|
설치할 GitHub 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.github_packages를 대신 사용하세요. |
custom_url_packages
필수
|
로컬, 디렉터리 또는 사용자 지정 URL에서 설치할 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.custom_url_packages를 대신 사용하세요. |
allow_reuse
필수
|
동일한 설정으로 다시 실행할 때 단계에서 이전 결과를 재사용해야 하는지 여부를 나타냅니다. 기본적으로 재사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행 결과가 재사용됩니다. 단계를 재사용할 때, 컴퓨팅할 작업을 제출하는 대신 이전 실행의 결과를 후속 단계에 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 집합을 입력으로 사용하는 경우 재사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 집합의 정의가 변경되었는지 여부에 따라 결정됩니다. |
version
필수
|
단계의 기능 변경을 나타내는 선택적 버전 태그입니다. |
script_name
필수
|
[필수] |
name
필수
|
단계의 이름입니다. 지정하지 않으면 |
arguments
필수
|
R 스크립트 파일의 명령줄 인수입니다. 이 인수는 RunConfiguration의 |
compute_target
필수
|
[필수] 사용할 컴퓨팅 대상입니다. 지정하지 않으면 의 대상이 |
runconfig
필수
|
[필수] 실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 구성을 실행합니다. RSection에서 정의할 수 있는 R 실행 구성을 정의하는 데 필요합니다. 이 단계에는 RSection이 필요합니다. |
runconfig_pipeline_params
필수
|
런타임에 각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 runconfig 속성을 재정의합니다. 지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
inputs
필수
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
입력 포트 바인딩 목록입니다. |
outputs
필수
|
출력 포트 바인딩 목록입니다. |
params
필수
|
"AML_PARAMETER_"를 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다. |
source_directory
필수
|
R 스크립트, conda env 및 이 단계에서 사용되는 기타 리소스가 포함되는 폴더입니다. |
use_gpu
필수
|
실험을 실행할 환경에서 GPU를 지원해야 하는지 여부를 나타냅니다.
True인 경우 환경에서 GPU 기반 기본 Docker 이미지가 사용됩니다. False인 경우 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 사용자가 |
custom_docker_image
필수
|
학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다. 설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. DockerSection의 base_image를 대신 사용하세요. |
cran_packages
필수
|
설치할 CRAN 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.cran_packages를 대신 사용하세요. |
github_packages
필수
|
설치할 GitHub 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.github_packages를 대신 사용하세요. |
custom_url_packages
필수
|
로컬, 디렉터리 또는 사용자 지정 URL에서 설치할 패키지입니다. 이 옵션은 더 이상 사용되지 않으며 이후 릴리스에서 제거될 예정입니다. RSection.custom_url_packages를 대신 사용하세요. |
allow_reuse
필수
|
동일한 설정으로 다시 실행할 때 단계에서 이전 결과를 재사용해야 하는지 여부를 나타냅니다. 기본적으로 재사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행 결과가 재사용됩니다. 단계를 재사용할 때, 컴퓨팅할 작업을 제출하는 대신 이전 실행의 결과를 후속 단계에 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 집합을 입력으로 사용하는 경우 재사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 집합의 정의가 변경되었는지 여부에 따라 결정됩니다. |
version
필수
|
단계의 기능 변경을 나타내는 선택적 버전 태그입니다. |
설명
RScriptStep은 컴퓨팅 대상에서 R 스크립트를 실행하는 기본 제공 단계입니다. 스크립트 이름과 기타 선택적 매개 변수(예: 스크립트, 컴퓨팅 대상, 입력 및 출력에 대한 인수)를 사용합니다. 사용자 지정 docker 이미지, 필수 cran/github 패키지와 같은 RScriptStep에 대한 요구 사항을 지정하려면 RunConfiguration을 사용해야 합니다.
RScriptStep을 사용하는 모범 사례는 스크립트 및 단계와 연결된 모든 종속 파일에 별도의 폴더를 사용하고, source_directory
매개 변수를 사용하여 해당 폴더를 지정하는 것입니다.
이 모범 사례에 따르면 두 가지 이점이 있습니다. 첫째, 단계에 필요한 것만 스냅숏이 생성되므로 단계에 대해 생성되는 스냅숏의 크기를 줄이는 데 도움이 됩니다. 둘째, source_directory
에서 스냅샷의 재업로드를 트리거하는 변경이 없는 경우 이전 실행 단계의 출력을 재사용할 수 있습니다.
다음 코드 예제에서는 기계 학습 훈련 시나리오에서 RScriptStep을 사용하는 방법을 보여 줍니다.
from azureml.core.runconfig import RunConfiguration
from azureml.core.environment import Environment, RSection, RCranPackage
from azureml.pipeline.steps import RScriptStep
rc = RunConfiguration()
rc.framework='R'
rc.environment.r = RSection() # R details with required packages
rc.environment.docker.enabled = True # to enable docker image
rc.environment.docker.base_image = '<custom user image>' # to use custom image
cran_package1 = RCranPackage()
cran_package1.name = "ggplot2"
cran_package1.repository = "www.customurl.com"
cran_package1.version = "2.1"
rc.environment.r.cran_packages = [cran_package1]
trainStep = RScriptStep(script_name="train.R",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
use_gpu=False,
runconfig=rc,
source_directory=project_folder)
파이프라인을 만드는 일반적인 방법에 대한 자세한 내용은 https://aka.ms/pl-first-pipeline을 참조하세요. RSection에 대한 자세한 내용은 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection를 참조하세요.
메서드
create_node |
RScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다. 사용되지 않습니다. CommandStep을 대신 사용합니다. 예제는 CommandStep을 사용하여 파이프라인에서 R 스크립트를 실행하는 방법을 참조하세요. 이 메서드는 직접 사용할 수 없습니다. 이 단계에서 파이프라인이 인스턴스화되면 Azure ML은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다. |
create_node
RScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다.
사용되지 않습니다. CommandStep을 대신 사용합니다. 예제는 CommandStep을 사용하여 파이프라인에서 R 스크립트를 실행하는 방법을 참조하세요.
이 메서드는 직접 사용할 수 없습니다. 이 단계에서 파이프라인이 인스턴스화되면 Azure ML은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.
create_node(graph, default_datastore, context)
매개 변수
Name | Description |
---|---|
graph
필수
|
노드를 추가할 그래프 개체입니다. |
default_datastore
필수
|
기본 데이터 저장소입니다. |
context
필수
|
<xref:azureml.pipeline.core._GraphContext>
그래프 컨텍스트입니다. |
반환
형식 | Description |
---|---|
만들어진 노드입니다. |