目录

基础

这些组件旨在用作构造时的便捷方法 其他组件。基础组件库中的许多方法都是工厂方法 for 、 、 和 挂接到 TorchX 的可配置扩展点。RoleContainerResources

torchx.components.base.roles 中。create_torch_dist_rolename: strimage: strentrypoint: strresource: torchx.specs.api.Resource = Resource(cpu=-1gpu=-1memMB=-1capabilities={})base_image: 可选[str] = args: 可选[List[str]] = env: 可选[Dict[str, str]] = num_replicas: int = 1max_retries: int = 0port_map: dict[strint] = 字段(name=Nonetype=Nonedefault=<dataclasses._MISSING_TYPE object>default_factory=<class 'dict'>init=Truerepr=Truehash=Nonecompare=Truemetadata=mappingproxy({})_field_type=None)retry_policy: torchx.specs.api.RetryPolicy = <RetryPolicy.APPLICATION: 'APPLICATION'>**launch_kwargs: Anytorchx.specs.api.Role[来源]

用户为其提供的 A 执行 torchelastic 代理(在容器中)。请注意,torchelastic 代理 调用 的多个副本。Roleentrypointentrypoint

有关 torchelastic 的更多信息,请参阅 torchelastic 快速入门文档

重要

用户有责任确保 角色的映像包括 TorchElastic。由于 Torchx 没有 控制镜像的构建过程,它不能 自动将 torchelastic 包含在角色的映像中。

以下示例启动 2 个(节点)的弹性,允许在 2 到 4 个节点之间扩展。每个节点运行 8 个允许的工作程序 失败并重启最多 3 次。replicasmy_train_script.py

>>> from torchx.components.base.roles import create_torch_dist_role
>>> from torchx.specs.api import NULL_RESOURCE
>>> elastic_trainer = create_torch_dist_role(
...     name="trainer",
...     image="<NONE>",
...     resource=NULL_RESOURCE,
...     entrypoint="my_train_script.py",
...     args=["--script_arg", "foo", "--another_arg", "bar"],
...     num_replicas=4, max_retries=1,
...     nproc_per_node=8, max_restarts=3)
... # effectively runs:
... #    python -m torch.distributed.launch
... #        --nproc_per_node 8
... #        --nnodes 4
... #        --max_restarts 3
... #        my_train_script.py --script_arg foo --another_arg bar
>>> elastic_trainer
Role(name='trainer', ...)
参数
  • name (名称) – 角色的名称

  • entrypoint – 将启动的用户二进制文件或 Python 脚本。

  • resource – 计划程序请求的资源

  • base_image – 可选基础映像(如果调度程序支持映像叠加)

  • args – 用户提供的参数

  • env – 环境。将在运行 EntryPoint 的工作进程上设置的变量

  • num_replicas – 要运行的角色副本数

  • max_retries – 最大重试次数

  • port_map – 角色的端口映射

  • retry_policy – 应用于角色的重试策略

  • launch_kwargs – kwarg 样式的启动参数,将用于启动 torchelastic 代理。

返回

Role 对象,通过 torchelastic 作为代理启动用户入口点

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源