应用实例¶
这包含演示如何使用 TorchX 的示例应用程序 适用于各种风格的应用程序(例如单节点、分布式等)。 这些应用程序可以自行启动,也可以作为管道的一部分启动。这很重要 以注意 TorchX 的工作是启动应用程序。您会注意到应用程序 在没有任何 TorchX 导入的情况下实现。
请参阅 管道示例 了解如何在管道中使用组件。
先决条件¶
在执行示例之前,请安装 TorchX 和运行示例所需的依赖项:
`
$ pip install torchx
$ git clone https://github.com/pytorch/torchx.git
$ cd torchx/examples/apps
$ TORCHX_VERSION=$(torchx --version | sed 's/torchx-//')
$ git checkout v$TORCHX_VERSION
$ pip install -r dev-requirements.txt
`
计算世界大小示例¶
这是一个最小的 “hello world” 样式示例应用程序,它使用
PyTorch Distributed 来计算世界大小。这是一个最小的例子
因为它初始化了进程组和
执行单个集合作 (all_reduce),这足以
验证 Infrastructure 和 Scheduler 设置。torch.distributed
此示例与 .要从 CLI 运行:dist.ddp
$ cd $torchx-git-repo-root/torchx/examples/apps
$ torchx run dist.ddp --script compute_world_size/main.py -j 1x2
数据预处理示例¶
这是一个简单的 TorchX 应用程序,它通过 HTTP 下载一些数据,将 图像通过 torchvision 进行,然后通过 fsspec 重新上传。
此示例有两个 Python 文件:应用程序实际上执行 preprocessing 和组件定义,以便与 TorchX 一起使用 启动应用程序。
Lightning + Classy Vision Trainer 示例¶
此示例由模型训练和可解释性应用程序组成,这些应用程序使用 PyTorch Lightning 和 ClassyVision 的 Torch Lightning 和 ClassyVision 中。应用程序具有共享逻辑,因此是拆分的 跨多个文件。
trainer 和 interpret 应用程序没有任何 TorchX-isms,并且是 简单的 ClassyVision (PyTorch) 和 Captum 应用程序。TorchX 帮助您 在各种 scheduler 和 localhost 上运行这些应用程序。 Trainer 应用程序是一个分布式数据并行风格的应用程序,已启动 内置了 dist.ddp。interpret 应用程序是一个单节点应用程序 并作为内置 utils.python 的常规 Python 进程启动。
有关如何使用 TorchX 运行这些应用程序的说明,请参阅文档 在各自的主要模块中:train.py 和 interpret.py。