MpiStep 类
创建用于运行 MPI 作业的 Azure ML 管道步骤。
有关使用 MpiStep 的示例,请参阅笔记本 https://aka.ms/pl-style-trans。
创建 Azure ML 管道步骤以运行 MPI 作业。
已弃用。 请改用 CommandStep。 有关示例,请参阅 如何使用 CommandStep 在管道中运行分布式训练。
- 继承
-
MpiStep
构造函数
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
|
[必需] 模块的名称。 默认值: None
|
source_directory
|
[必需] 包含 Python 脚本、conda env 和步骤中使用的其他资源的文件夹。 默认值: None
|
script_name
|
[必需] Python 脚本的名称,相对于 默认值: None
|
arguments
|
[必需] 命令行参数的列表。 默认值: None
|
compute_target
|
[必需] 要使用的计算目标。 默认值: None
|
node_count
|
[必需] 计算目标中用于训练的节点数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。 默认值: None
|
process_count_per_node
|
[必需] 每个节点的进程数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。 默认值: None
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。 默认值: None
|
outputs
|
输出端口绑定的列表。 默认值: None
|
params
必需
|
使用“AML_PARAMETER_”注册为环境变量的名称/值对的字典。 |
allow_reuse
|
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。 默认值: True
|
version
|
用于表示模块功能更改的可选版本标记。 默认值: None
|
hash_paths
|
已弃用:不再需要。 检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 默认值: None
|
use_gpu
必需
|
表示要运行试验的环境是否应支持 GPU。
如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当未设置 |
use_docker
必需
|
指示要运行试验的环境是否应基于 Docker。 |
custom_docker_image
必需
|
要从中生成用于训练的映像的 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
必需
|
pip 要求文本文件的相对路径。
此参数可与 |
environment_definition
必需
|
试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。 |
name
必需
|
[必需] 模块的名称。 |
source_directory
必需
|
[必需] 包含 Python 脚本、conda env 和步骤中使用的其他资源的文件夹。 |
script_name
必需
|
[必需] Python 脚本的名称,相对于 |
arguments
必需
|
[必需] 命令行参数的列表。 |
compute_target
必需
|
<xref:azureml.core.compute.AmlComputeCompute>, str
[必需] 要使用的计算目标。 |
node_count
必需
|
[必需]用于训练的计算目标中的节点数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。 |
process_count_per_node
必需
|
[必需]每个节点的进程数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。 |
inputs
必需
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。 |
outputs
必需
|
输出端口绑定的列表。 |
params
必需
|
使用“AML_PARAMETER_<<”>>注册为环境变量的名称/值对字典。 |
allow_reuse
必需
|
指示在使用相同参数重新运行时,该步骤是否应重用以前的结果,是否保持不变,将重复使用此步骤上一次运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。 |
version
必需
|
可选版本标记,用于表示模块的功能更改 |
hash_paths
必需
|
已弃用:不再需要。 检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 |
use_gpu
必需
|
表示要运行试验的环境是否应支持 GPU。
如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当未设置 |
use_docker
必需
|
指示要运行试验的环境是否应基于 Docker。 custom_docker_image (str) :将生成用于 mpi 作业的映像的 docker 映像的名称。 如果未设置,将使用基于 CPU 的默认映像作为基础映像。 |
custom_docker_image
必需
|
要从中生成用于训练的映像的 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
必需
|
pip 要求文本文件的相对路径。
此参数可与 |
environment_definition
必需
|
试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。 |