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)
参数
- node_count
- int
[必需] 计算目标中用于训练的节点数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。
- process_count_per_node
- int
[必需] 每个节点的进程数。 如果大于 1,则将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。
输出端口绑定的列表。
- allow_reuse
- bool
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
- hash_paths
- list
已弃用:不再需要。
检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 source_directory
的内容,.amlignore 或 .gitignore 中列出的文件除外。
- use_gpu
- bool
表示要运行试验的环境是否应支持 GPU。
如果为 True,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 False,则使用基于 CPU 的映像。 仅当未设置 custom_docker_image
参数时,才会使用默认 docker 映像(CPU 或 GPU)。 此设置仅用于启用了 Docker 的计算目标。
- user_managed
- bool
指示 Azure ML 是否重复使用现有的 Python 环境;False 表示 Azure ML 将基于 conda 依赖关系规范创建 Python 环境。
- environment_definition
- EnvironmentDefinition
试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。
- node_count
- int
[必需]用于训练的计算目标中的节点数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。
- process_count_per_node
- int
[必需]每个节点的进程数。 如果大于 1,将运行 mpi 分布式作业。 对于分布式作业,仅支持 AmlCompute 计算目标。 支持 PipelineParameter 值。
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
输入端口绑定的列表。
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
输出端口绑定的列表。
- allow_reuse
- bool
指示在使用相同参数重新运行时,该步骤是否应重用以前的结果,是否保持不变,将重复使用此步骤上一次运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
- 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 的默认映像作为基础映像。
- user_managed
- bool
指示 Azure ML 是否重复使用现有的 Python 环境;False 表示 Azure ML 将基于 conda 依赖关系规范创建 Python 环境。
- environment_definition
- EnvironmentDefinition
试验的 EnvironmentDefinition。 它包括 PythonSection 和 DockerSection 以及环境变量。 使用 environment_definition 参数可以设置不通过其他参数直接公开到 MpiStep 构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 use_gpu、custom_docker_image、conda_packages 或 pip_packages,并将对这些无效的组合报告错误。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈