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
필수
|
[필수] 를 기준으로 하는 R 스크립트의 이름입니다 |
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
필수
|
[필수] 를 기준으로 하는 R 스크립트의 이름입니다 |
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 |
---|---|
만든 노드입니다. |