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
默认值: None

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

script_name
str
默认值: None

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

arguments
list
默认值: None

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

compute_target
AmlCompute, str
默认值: None

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

node_count
int
默认值: None

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

process_count_per_node
int
默认值: None

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

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
默认值: None

输出端口绑定的列表。

params
dict
必需

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

allow_reuse
bool
默认值: True

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

version
str
默认值: None

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

hash_paths
list
默认值: None

已弃用:不再需要。

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

use_gpu
bool
必需

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

use_docker
bool
必需

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

custom_docker_image
str
必需

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

image_registry_details
ContainerRegistry
必需

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

user_managed
bool
必需

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

conda_packages
list
必需

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

pip_packages
list
必需

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

pip_requirements_file_path
str
必需

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

environment_definition
EnvironmentDefinition
必需

试验的 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
list
必需

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

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

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

node_count
int
必需

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

process_count_per_node
int
必需

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

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
必需

输出端口绑定的列表。

params
dict
必需

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

allow_reuse
bool
必需

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

version
str
必需

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

hash_paths
list
必需

已弃用:不再需要。

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

use_gpu
bool
必需

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

use_docker
bool
必需

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

custom_docker_image
str
必需

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

image_registry_details
ContainerRegistry
必需

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

user_managed
bool
必需

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

conda_packages
list
必需

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

pip_packages
list
必需

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

pip_requirements_file_path
str
必需

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

environment_definition
EnvironmentDefinition
必需

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