MpiStep 类

创建用于运行 MPI 作业的 Azure ML 管道步骤。

有关使用 MpiStep 的示例,请参阅笔记本 https://aka.ms/pl-style-trans

创建 Azure ML 管道步骤以运行 MPI 作业。

已弃用。 请改用 CommandStep。 有关示例,请参阅 如何使用 CommandStep 在管道中运行分布式训练

继承

构造函数

MpiStep(name=None, source_directory=None, script_name=None, arguments=None, compute_target=None, node_count=None, process_count_per_node=None, inputs=None, outputs=None, allow_reuse=True, version=None, hash_paths=None, **kwargs)

参数

名称 说明
name
str

[必需] 模块的名称。

默认值: None
source_directory
str

[必需] 包含 Python 脚本、conda env 和步骤中使用的其他资源的文件夹。

默认值: None
script_name
str

[必需] Python 脚本的名称,相对于 source_directory

默认值: None
arguments

[必需] 命令行参数的列表。

默认值: None
compute_target

[必需] 要使用的计算目标。

默认值: None
node_count
int

[必需] 计算目标中用于训练的节点数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。

默认值: None
process_count_per_node
int

[必需] 每个节点的进程数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。

默认值: None
inputs

输入端口绑定的列表。

默认值: None
outputs

输出端口绑定的列表。

默认值: None
params
必需

使用“AML_PARAMETER_”注册为环境变量的名称/值对的字典。

allow_reuse

指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。

默认值: True
version
str

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

默认值: None
hash_paths

已弃用:不再需要。

检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 source_directory 的内容,.amlignore 或 .gitignore 中列出的文件除外。

默认值: None
use_gpu
必需

表示要运行试验的环境是否应支持 GPU。 如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当未设置 custom_docker_image 参数时,才会使用默认 docker 映像(CPU 或 GPU)。 此设置仅用于启用了 Docker 的计算目标。

use_docker
必需

指示要运行试验的环境是否应基于 Docker。

custom_docker_image
必需
str

要从中生成用于训练的映像的 Docker 映像的名称。 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。

image_registry_details
必需

Docker 映像注册表的详细信息。

user_managed
必需

指示 Azure ML 是否重复使用现有的 Python 环境;False 表示 Azure ML 将基于 conda 依赖关系规范创建 Python 环境。

conda_packages
必需

表示要添加到 Python 环境中的 conda 包的字符串列表。

pip_packages
必需

表示要添加到 Python 环境中的 pip 包的字符串列表。

pip_requirements_file_path
必需
str

pip 要求文本文件的相对路径。 此参数可与 pip_packages 参数一起指定。

environment_definition
必需

试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。

name
必需
str

[必需] 模块的名称。

source_directory
必需
str

[必需] 包含 Python 脚本、conda env 和步骤中使用的其他资源的文件夹。

script_name
必需
str

[必需] Python 脚本的名称,相对于 source_directory

arguments
必需

[必需] 命令行参数的列表。

compute_target
必需
<xref:azureml.core.compute.AmlComputeCompute>, str

[必需] 要使用的计算目标。

node_count
必需
int

[必需]计算目标中用于训练的节点数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。

process_count_per_node
必需
int

[必需]每个节点的进程数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。

inputs
必需

输入端口绑定的列表。

outputs
必需

输出端口绑定的列表。

params
必需

使用“AML_PARAMETER_<<”>>注册为环境变量的名称/值对字典。

allow_reuse
必需

指示在使用相同的参数重新运行时,该步骤是否应重复使用以前的结果,是否应保持不变,是否重复使用此步骤的上一次运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。

version
必需
str

可选版本标记,表示模块的功能更改

hash_paths
必需

已弃用:不再需要。

检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 source_directory 的内容,.amlignore 或 .gitignore 中列出的文件除外。

use_gpu
必需

表示要运行试验的环境是否应支持 GPU。 如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当未设置 custom_docker_image 参数时,才会使用默认 docker 映像(CPU 或 GPU)。 此设置仅用于启用了 Docker 的计算目标。

use_docker
必需

指示要运行试验的环境是否应基于 Docker。 custom_docker_image (str) :将生成用于 mpi 作业的映像的 docker 映像的名称。 如果未设置,将使用基于 CPU 的默认映像作为基础映像。

custom_docker_image
必需
str

要从中生成用于训练的映像的 Docker 映像的名称。 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。

image_registry_details
必需

Docker 映像注册表的详细信息。

user_managed
必需

指示 Azure ML 是否重复使用现有的 Python 环境;False 表示 Azure ML 将基于 conda 依赖关系规范创建 Python 环境。

conda_packages
必需

表示要添加到 Python 环境中的 conda 包的字符串列表。

pip_packages
必需

表示要添加到 Python 环境中的 pip 包的字符串列表。

pip_requirements_file_path
必需
str

pip 要求文本文件的相对路径。 此参数可与 pip_packages 参数一起指定。

environment_definition
必需

试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。