다음을 통해 공유


RScriptStep 클래스

비고

이는 실험적 클래스이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

R 스크립트를 실행하는 Azure ML 파이프라인 단계를 만듭니다.

R 스크립트를 실행하는 Azure ML 파이프라인 단계를 만듭니다.

되지 않는. 대신 사용합니다 CommandStep . 예제는 CommandStep을 사용하여 파이프라인에서 R 스크립트를 실행하는 방법을 참조하세요.

생성자

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
필수
str

[필수] 를 기준으로 하는 R 스크립트의 이름입니다 source_directory.

name
필수
str

단계의 이름입니다. 지정 script_name 되지 않은 경우 사용됩니다.

arguments
필수

R 스크립트 파일에 대한 명령줄 인수입니다. 인수는 RunConfiguration의 매개 변수를 arguments 통해 컴퓨팅에 전달됩니다. 특수 기호와 같은 인수를 처리하는 방법에 대한 자세한 내용은 다음을 참조하세요 RunConfiguration.

compute_target
필수

[필수] 사용할 컴퓨팅 대상입니다. 지정되지 않은 경우 대상의 runconfig 대상이 사용됩니다. 이 매개 변수는 작업 영역에서 컴퓨팅 대상 개체 또는 컴퓨팅 대상의 문자열 이름으로 지정할 수 있습니다. 필요에 따라 파이프라인 생성 시 컴퓨팅 대상을 사용할 수 없는 경우 컴퓨팅 대상 개체를 가져오지 않도록 튜플('컴퓨팅 대상 이름', '컴퓨팅 대상 형식')을 지정할 수 있습니다(AmlCompute 형식은 'AmlCompute'이고 RemoteCompute 형식은 'VirtualMachine').

runconfig
필수

[필수] 실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 구성을 실행합니다. 에서 정의 RSection할 수 있는 R 실행 구성을 정의하는 데 필요합니다. 이 단계에는 RSection이 필요합니다.

runconfig_pipeline_params
필수

각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 런타임 시 runconfig 속성을 재정의합니다.

지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
필수

입력 포트 바인딩 목록입니다.

outputs
필수

출력 포트 바인딩 목록입니다.

params
필수

"AML_PARAMETER_"을 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다.

source_directory
필수
str

단계에서 사용되는 R 스크립트, conda env 및 기타 리소스가 포함된 폴더입니다.

use_gpu
필수

실험을 실행하는 환경에서 GPU를 지원해야 하는지 여부를 나타냅니다. True이면 GPU 기반 기본 Docker 이미지가 환경에서 사용됩니다. False이면 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 사용자가 매개 변수와 base_image 매개 변수를 모두 base_dockerfile 설정하지 않은 경우에만 사용됩니다. 이 설정은 Docker 사용 컴퓨팅 대상에서만 사용됩니다. 에 대한 자세한 내용은 참조 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection 하세요 base_image.

custom_docker_image
필수
str

학습에 사용할 이미지를 빌드할 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
필수
str

단계의 기능 변경을 나타내는 선택적 버전 태그입니다.

script_name
필수
str

[필수] 를 기준으로 하는 R 스크립트의 이름입니다 source_directory.

name
필수
str

단계의 이름입니다. 지정 script_name 되지 않은 경우 사용됩니다.

arguments
필수

R 스크립트 파일에 대한 명령줄 인수입니다. 인수는 RunConfiguration의 매개 변수를 arguments 통해 컴퓨팅에 전달됩니다. 특수 기호와 같은 인수를 처리하는 방법에 대한 자세한 내용은 다음을 참조하세요 RunConfiguration.

compute_target
필수

[필수] 사용할 컴퓨팅 대상입니다. 지정되지 않은 경우 대상의 runconfig 대상이 사용됩니다. 이 매개 변수는 작업 영역에서 컴퓨팅 대상 개체 또는 컴퓨팅 대상의 문자열 이름으로 지정할 수 있습니다. 필요에 따라 파이프라인 생성 시 컴퓨팅 대상을 사용할 수 없는 경우 컴퓨팅 대상 개체를 가져오지 않도록 튜플('컴퓨팅 대상 이름', '컴퓨팅 대상 형식')을 지정할 수 있습니다(AmlCompute 형식은 'AmlCompute'이고 RemoteCompute 형식은 'VirtualMachine').

runconfig
필수

[필수] 실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화하는 구성을 실행합니다. 에서 정의 RSection할 수 있는 R 실행 구성을 정의하는 데 필요합니다. 이 단계에는 RSection이 필요합니다.

runconfig_pipeline_params
필수

각각 runconfig 속성의 이름과 해당 속성의 PipelineParameter가 있는 키-값 쌍을 사용하여 런타임 시 runconfig 속성을 재정의합니다.

지원되는 값: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
필수

입력 포트 바인딩 목록입니다.

outputs
필수

출력 포트 바인딩 목록입니다.

params
필수

"AML_PARAMETER_"을 사용하여 환경 변수로 등록된 이름-값 쌍의 사전입니다.

source_directory
필수
str

단계에서 사용되는 R 스크립트, conda env 및 기타 리소스가 포함된 폴더입니다.

use_gpu
필수

실험을 실행하는 환경에서 GPU를 지원해야 하는지 여부를 나타냅니다. True이면 GPU 기반 기본 Docker 이미지가 환경에서 사용됩니다. False이면 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 사용자가 매개 변수와 base_image 매개 변수를 모두 base_dockerfile 설정하지 않은 경우에만 사용됩니다. 이 설정은 Docker 사용 컴퓨팅 대상에서만 사용됩니다. 에 대한 자세한 내용은 참조 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection 하세요 base_image.

custom_docker_image
필수
str

학습에 사용할 이미지를 빌드할 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
필수
str

단계의 기능 변경을 나타내는 선택적 버전 태그입니다.

설명

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

만든 노드입니다.