RScriptStep 类
注意
这是一个试验性的类,随时可能更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental。
创建运行 R 脚本的 Azure ML 管道步骤。
创建运行 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)
参数
- arguments
- list
R 脚本文件的命令行参数。 参数将通过 RunConfiguration 中的 arguments
参数传递给计算。
有关如何处理特殊符号等参数的更多详细信息,请参阅 RunConfiguration。
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[必需] 要使用的计算目标。 如果未指定,将使用 runconfig
中的目标。 此参数可以指定为计算目标对象或工作区中计算目标的字符串名称。
(可选)如果计算目标在管道创建时不可用,可能需要指定一个元组 ('compute target name', 'compute target type') 以避免提取计算目标对象(AmlCompute 类型为“AmlCompute”,RemoteCompute 类型为“VirtualMachine”)。
- runconfig
- RunConfiguration
[必需] 运行配置,该配置封装在试验中提交训练运行所需的信息。 这是定义可以在 RSection 中定义的 R 运行配置所必需的。 此步骤需要 RSection。
- runconfig_pipeline_params
- dict[str, PipelineParameter]
在运行时使用键值对重写 runconfig 属性,每个键值对分别具有 runconfig 属性的名称和该属性的 PipelineParameter。
支持的值:“NodeCount”、“MpiProcessCountPerNode”、“TensorflowWorkerCount”、“TensorflowParameterServerCount”
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
输出端口绑定的列表。
- use_gpu
- bool
表示要运行试验的环境是否应支持 GPU。
如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当用户未同时设置 base_image
和 base_dockerfile
参数时,才会使用默认 docker 映像(CPU 或 GPU)。
此设置仅用于启用了 Docker 的计算目标。
有关 base_image
的更多详细信息,请参阅 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection。
- custom_docker_image
- str
要从中生成用于训练的映像的 Docker 映像的名称。 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。 该选项已否决,并将在将来的版本中移除。 请改用 DockerSection 中的 base_image。
- custom_url_packages
- list
从本地、目录或自定义 URL 安装的包。 该选项已否决,并将在将来的版本中移除。 请改用 RSection.custom_url_packages。
- allow_reuse
- bool
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
- arguments
- list
R 脚本文件的命令行参数。 参数将通过 RunConfiguration 中的 arguments
参数传递给计算。
有关如何处理特殊符号等参数的更多详细信息,请参阅 RunConfiguration。
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[必需] 要使用的计算目标。 如果未指定,将使用 中 runconfig
的目标。 此参数可以指定为计算目标对象或工作区中计算目标的字符串名称。
(可选)如果计算目标在管道创建时不可用,可能需要指定一个元组 ('compute target name', 'compute target type') 以避免提取计算目标对象(AmlCompute 类型为“AmlCompute”,RemoteCompute 类型为“VirtualMachine”)。
- runconfig
- RunConfiguration
[必需] 运行配置,该配置封装在试验中提交训练运行所需的信息。 这是定义可以在 RSection 中定义的 R 运行配置所必需的。 此步骤需要 RSection。
- runconfig_pipeline_params
- dict[str, PipelineParameter]
在运行时使用键值对重写 runconfig 属性,每个键值对分别具有 runconfig 属性的名称和该属性的 PipelineParameter。
支持的值:“NodeCount”、“MpiProcessCountPerNode”、“TensorflowWorkerCount”、“TensorflowParameterServerCount”
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。
- use_gpu
- bool
表示要运行试验的环境是否应支持 GPU。
如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当用户未同时设置 base_image
和 base_dockerfile
参数时,才会使用默认 docker 映像(CPU 或 GPU)。
此设置仅用于启用了 Docker 的计算目标。
有关 base_image
的更多详细信息,请参阅 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection。
- custom_docker_image
- str
要从中生成用于训练的映像的 Docker 映像的名称。 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。 该选项已否决,并将在将来的版本中移除。 请改用 DockerSection 中的 base_image。
- custom_url_packages
- list
从本地、目录或自定义 URL 安装的包。 该选项已否决,并将在将来的版本中移除。 请改用 RSection.custom_url_packages。
- allow_reuse
- bool
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
注解
RScriptStep 是一个基本的内置步骤,用于在计算目标上运行 R 脚本。 它采用脚本名称和其他可选参数,例如脚本、计算目标、输入和输出的自变量。 应该使用 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 机器学习会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图形中。 |
create_node
为 RScriptStep 创建节点并将其添加到指定的图形。
已弃用。 请改用 CommandStep。 有关示例,请参阅如何使用 CommandStep 在管道中运行 R 脚本。
此方法不能直接使用。 通过此步骤实例化管道时,Azure 机器学习会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图形中。
create_node(graph, default_datastore, context)
参数
- context
- <xref:azureml.pipeline.core._GraphContext>
图形上下文。
返回
创建的节点。
返回类型
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈