• 文档 >
  • ExecuTorch SDK 简介
快捷方式

ExecuTorch SDK 简介

ExecuTorch 的设计目标之一是生产力,而 ExecuTorch SDK 通过提供的全面工具套件来实现这一点,这些工具可以帮助用户分析、调试和可视化已在 ExecuTorch 上集成的模型。

SDK 的所有组件都是从头开始设计的,并在导出过程和运行时都进行了深度集成。这使我们能够提供独特的功能,例如将运行时中的操作符执行链接回原始 Eager 模型中该操作符的源代码行。

SDK 功能

ExecuTorch SDK 支持以下功能

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

  • 按操作符级别细分的性能统计数据进行模型**分析**

    • 将操作符性能统计数据链接回源代码和模块层次结构

    • 模型加载和执行时间

  • **委托集成** - 从委托后端提供性能详细信息

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

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

  • **可视化** - 即将推出

SDK 的基本组件

为了充分理解和利用本节中 SDK 的功能,将详细介绍为 SDK 提供支持的基本组件。

ETRecord

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

为了与传统的软件开发建立粗略的等价关系,ETRecord 可以被认为是使用调试符号构建的二进制文件,用于在 GNU 项目调试器 (gdb) 中进行调试。

有关如何生成和存储 ETRecord 的更多详细信息,请参阅ETRecord 文档

ETDump

ETDump(ExecuTorch 转储)是在运行模型后由运行时生成的二进制块。与上面类似,为了与传统的软件开发建立粗略的等价关系,ETDump 可以被认为是 ExecuTorch 的核心转储,但在这种情况下,我们在 ETDump 中存储了运行时在模型执行期间生成的所有性能和调试数据。

注意

如果您只关心查看原始性能数据,而无需链接回源代码和其他扩展功能,那么只需 ETDump 就足以利用 SDK 的基本功能。为了获得完整体验,建议用户还生成 ETRecord。

有关如何从运行时生成和存储 ETDump 的更多详细信息,请参阅ETDump 文档

检查器 API

检查器 Python API 是 SDK 中的主要用户入口点。它们将从 ETDump 和 ETRecord 中获取的数据组合在一起,使用户能够通过易于使用的 API 访问从运行时获取的所有性能和调试数据,以及链接回 Eager 模型的源代码和模块层次结构。

有关如何使用检查器 API 的更多详细信息,请参阅检查器 API 文档

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源