应用程序示例¶
此示例包含示例应用程序,演示了如何使用 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 分布式来计算世界大小。它是一个最小的示例,因为它初始化了 torch.distributed
进程组并执行单个集体操作(all_reduce),足以验证基础设施和调度程序设置。
此示例与 dist.ddp
兼容。要从 CLI 运行,请执行以下操作
$ 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 文件:实际进行预处理的应用程序和组件定义,该定义可与 TorchX 一起使用以启动应用程序。
Lightning 训练器示例¶
此示例包括使用 PyTorch Lightning 的模型训练和可解释性应用程序。这些应用程序具有共享逻辑,因此被拆分为多个文件。
训练器和解释应用程序不包含任何 TorchX 特性,只是 torchvision 和 Captum 应用程序。TorchX 帮助你在各种调度程序和本地主机上运行这些应用程序。训练器应用程序是一个分布式数据并行风格的应用程序,并使用 dist.ddp 内置功能启动。解释应用程序是一个单节点应用程序,并使用 utils.python 内置功能作为常规 Python 进程启动。
有关如何使用 TorchX 运行这些应用程序的说明,请参阅其各自主模块中的文档:train.py 和 interpret.py。