• 文档 >
  • ExecuTorch 开发者工具简介
快捷方式

ExecuTorch 开发者工具简介

ExecuTorch 的设计核心目标之一是生产力,ExecuTorch 开发者工具通过其提供的全面工具套件来实现这一目标,帮助用户分析、调试和可视化他们在 ExecuTorch 上部署的模型。

开发者工具的所有组件都经过从头开始的设计,并在导出过程和运行时中深度集成。这使我们能够提供独特的功能,例如将运行时中的运算符执行链接回原始 eager 模型中该运算符来源的代码行。

开发者工具功能

ExecuTorch 开发者工具支持以下功能

  • BundledProgram 是一个实用工具,用于导出与 (代表性的) 输入和预期输出样本集捆绑的模型,以便在运行时用户可以验证实际输出是否与预期输出相同。

  • 性能分析 模型,并提供运算符级别的性能统计分解

    • 将运算符性能统计链接回源代码和模块层次结构

    • 模型加载和执行时间

  • 委托集成 - 从委托后端浮现性能详情

    • 将委托运算符执行链接回它们在边缘方言图中代表的节点(并随后链接回源代码和模块层次结构)

  • 调试 - 中间输出和输出质量分析

  • 内存分配洞察 - 可视化内存如何规划,以及在任何时间点所有活动张量的位置

  • 可视化 - 即将推出

开发者工具的基本组件

为了充分理解和利用本节中开发者工具的功能,将详细介绍驱动开发者工具的基本组件。

ETRecord

ETRecord (ExecuTorch 记录) 是在导出过程中生成的工件,它存储图和其他元数据,这些元数据对于开发者工具能够将从运行时获取的性能/调试数据链接回 eager 模型的源代码至关重要。

为了粗略地类比传统软件开发,ETRecord 可以被视为使用调试符号构建的二进制文件,该文件用于在 GNU 项目调试器 (gdb) 中进行调试。

更多详情请参阅 ETRecord 文档,了解如何生成和存储 ETRecord。

ETDump

ETDump (ExecuTorch 转储) 是运行时在运行模型后生成的二进制 blob。与上述类似,为了粗略地类比传统软件开发,ETDump 可以被视为 ExecuTorch 的 coredump,但在这种情况下,我们在 ETDump 中存储运行时在模型执行期间生成的所有性能和调试数据。

注意

如果您只关心查看原始性能数据,而不需要链接回源代码和其他扩展功能,则仅 ETDump 就足以利用开发者工具的基本功能。为了获得完整体验,建议用户也生成 ETRecord。

更多详情请参阅 ETDump 文档,了解如何从运行时生成和存储 ETDump。

Inspector API

Inspector Python API 是进入开发者工具的主要用户入口点。它们将来自 ETDump 和 ETRecord 的数据结合起来,让用户可以访问来自运行时的所有性能和调试数据,并以易于使用的 API 链接回 eager 模型源代码和模块层次结构。

更多详情请参阅 Inspector API 文档,了解如何使用 Inspector API。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

查找开发资源并获得问题解答

查看资源