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

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

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

已弃用:不再需要。

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

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

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

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
必需

已弃用:不再需要。

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

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,这些无效组合上将报告错误。