RScriptStep 类

注释

这是一个实验类,随时可能会更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

创建运行 R 脚本的 Azure ML 管道步骤。

创建运行 R 脚本的 Azure ML Pipeline 步骤。

荒废的。 请改用 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)

参数

名称 说明
script_name
必需
str

[必需]相对于 . 的 R 脚本 source_directory的名称。

name
必需
str

步骤的名称。 如果未指定,则使用 script_name

arguments
必需

R 脚本文件的命令行参数。 参数将通过 RunConfiguration 中的参数传递给计算 arguments 。 有关如何处理特殊符号等参数的更多详细信息,请参阅 < a0 />。

compute_target
必需

[必需]要使用的计算目标。 如果未指定,则使用目标 runconfig 。 此参数可以指定为计算目标对象或工作区上计算目标的字符串名称。 (可选)如果计算目标在创建管道时不可用,则可以指定元组(“计算目标名称”、“计算目标类型”)以避免提取计算目标对象(AmlCompute 类型为“AmlCompute”,RemoteCompute 类型为“VirtualMachine”。

runconfig
必需

[必需]运行配置,该配置封装在试验中提交训练运行所需的信息。 这是定义可在其中 RSection定义的 R 运行配置所必需的。 此步骤需要 RSection。

runconfig_pipeline_params
必需

在运行时使用键值对替代 runconfig 属性和该属性的 PipelineParameter 的名称。

支持的值:“NodeCount”、“MpiProcessCountPerNode”、“TensorflowWorkerCount”、“TensorflowParameterServerCount”

inputs
必需

输入端口绑定的列表。

outputs
必需

输出端口绑定的列表。

params
必需

注册为环境变量的名称/值对字典,其中包含“AML_PARAMETER_”。

source_directory
必需
str

包含步骤中使用的 R 脚本、conda env 和其他资源的文件夹。

use_gpu
必需

指示运行试验的环境是否应支持 GPU。 如果为 True,则环境中将使用基于 GPU 的默认 Docker 映像。 如果为 False,将使用基于 CPU 的映像。 仅当用户未设置这两 base_image 个映像和参数时,才会使用默认 docker 映像(CPU 或 base_dockerfile GPU)。 此设置仅在启用了 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 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。

version
必需
str

用于表示步骤功能更改的可选版本标记。

script_name
必需
str

[必需]相对于 . 的 R 脚本 source_directory的名称。

name
必需
str

步骤的名称。 如果未指定,则使用 script_name

arguments
必需

R 脚本文件的命令行参数。 参数将通过 RunConfiguration 中的参数传递给计算 arguments 。 有关如何处理特殊符号等参数的更多详细信息,请参阅 < a0 />。

compute_target
必需

[必需]要使用的计算目标。 如果未指定,将使用目标 runconfig 。 此参数可以指定为计算目标对象或工作区上计算目标的字符串名称。 (可选)如果计算目标在创建管道时不可用,则可以指定元组(“计算目标名称”、“计算目标类型”)以避免提取计算目标对象(AmlCompute 类型为“AmlCompute”,RemoteCompute 类型为“VirtualMachine”。

runconfig
必需

[必需]运行配置,该配置封装在试验中提交训练运行所需的信息。 这是定义可在其中 RSection定义的 R 运行配置所必需的。 此步骤需要 RSection。

runconfig_pipeline_params
必需

在运行时使用键值对替代 runconfig 属性和该属性的 PipelineParameter 的名称。

支持的值:“NodeCount”、“MpiProcessCountPerNode”、“TensorflowWorkerCount”、“TensorflowParameterServerCount”

inputs
必需

输入端口绑定的列表。

outputs
必需

输出端口绑定的列表。

params
必需

注册为环境变量的名称/值对字典,其中包含“AML_PARAMETER_”。

source_directory
必需
str

包含步骤中使用的 R 脚本、conda env 和其他资源的文件夹。

use_gpu
必需

指示运行试验的环境是否应支持 GPU。 如果为 True,则环境中将使用基于 GPU 的默认 Docker 映像。 如果为 False,将使用基于 CPU 的映像。 仅当用户未设置这两 base_image 个映像和参数时,才会使用默认 docker 映像(CPU 或 base_dockerfile GPU)。 此设置仅在启用了 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 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。

version
必需
str

用于表示步骤功能更改的可选版本标记。

注解

RScriptStep 是一个基本的内置步骤,用于在计算目标上运行 R 脚本。 它采用脚本名称和其他可选参数,例如脚本、计算目标、输入和输出的参数。 应使用 a RunConfiguration 来指定 RScriptStep 的要求,例如自定义 docker 映像,所需的 cran/github 包。

使用 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)

参数

名称 说明
graph
必需

要向其添加节点的图形对象。

default_datastore
必需

默认数据存储。

context
必需
<xref:azureml.pipeline.core._GraphContext>

图形上下文。

返回

类型 说明

创建的节点。