目录

基础

这些组件在构建其他组件时作为方便的方法使用。基础组件库中的许多方法都是工厂方法,用于 Role, Container, 和 Resources,它们与 TorchX 的可配置扩展点挂钩。

torchx.components.base.roles.create_torch_dist_role(name: str, image: str, entrypoint: str, resource: torchx.specs.api.Resource = Resource(cpu=-1, gpu=-1, memMB=-1, capabilities={}), base_image: Optional[str] = None, args: Optional[List[str]] = None, env: Optional[Dict[str, str]] = None, num_replicas: int = 1, max_retries: int = 0, port_map: Dict[str, int] = Field(name=None, type=None, default=<dataclasses._MISSING_TYPE object>, default_factory=<class 'dict'>, init=True, repr=True, hash=None, compare=True, metadata=mappingproxy({}), _field_type=None), retry_policy: torchx.specs.api.RetryPolicy = <RetryPolicy.APPLICATION: 'APPLICATION'>, **launch_kwargs: Any)torchx.specs.api.Role[source]

一个 Role,用户提供了 entrypoint,由 torchelastic 代理(在容器中)执行。请注意,torchelastic 代理会调用多个 entrypoint 的副本。

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

重要的

这是用户的责任,确保角色的图像包含torchelastic。由于Torchx无法控制图像构建过程,因此无法自动将torchelastic包含在角色的图像中。

以下示例启动了2个replicas(节点)的弹性my_train_script.py,允许其在2到4个节点之间缩放。每个节点运行8个工人,这些工人最多可以失败并重启3次。

>>> 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', ...)
Parameters
  • 名称 – 角色的名称

  • 入口点 – 用户二进制文件或Python脚本,将被启动。

  • 资源 – 请求调度器的资源

  • base_image – 可选基础镜像,如果调度器支持图像叠加

  • 参数 – 用户提供的参数

  • 环境 – 工作进程运行入口点时设置的环境变量

  • num_replicas – 运行的副本数量

  • 最大重试次数 – 最大重试次数

  • 端口映射 – 角色的端口映射

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

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

Returns

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

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源