目录

先决条件 | ETRecord - ExecuTorch 记录

概览

ETRecord 是用户在将模型导出以在 ExecuTorch 上运行之前生成的调试工件。为了与传统的软件开发进行粗略类比,ETRecord 可以被视为带有调试符号的二进制文件,用于在 GNU 调试器 (gdb) 中进行调试。用户应提供此文件给 ExecuTorch 开发者工具,以便他们能够调试和可视化他们的模型。

ETRecord 包含许多组件,例如:

  • 边缘方言图带调试句柄

  • 委托调试处理映射

ETRecord 对象本身旨在对用户透明,他们不应直接访问其中的任何组件。 它应提供给 检查器 API,以便将从运行时获取的性能和调试数据与 Python 源代码关联起来。

生成一个 ETRecord

用户应使用以下API生成一个ETRecord文件。他们需要提供Edge Dialect程序(通过调用to_edge()返回),ExecuTorch程序(通过调用to_executorch()返回),以及可选的模型,以便通过我们的工具进行操作。

警告

用户应该对 to_edge() 的输出进行深拷贝,并将深拷贝传递给 generate_etrecord API。这是因为在后续调用 to_executorch() 时会进行原地修改,这会导致调试数据丢失。

executorch.devtools.etrecord._etrecord.generate_etrecord(et_record, edge_dialect_program, executorch_program, export_modules=None)[source]

从给定的对象生成一个 ETRecord,对其进行序列化并保存到指定路径。 将被序列化为 ETRecord 的对象包括 export_modules 字典中的所有图模块, 边方言程序对象中的图模块,以及 ExecuTorch 程序对象中的图模块, 后者是最终在设备上运行的最接近的图模块表示。 除了所有图模块之外,我们还会序列化程序缓冲区,用户可以将其提供给 ExecuTorch 运行时以运行模型, 以及调试句柄映射,供开发者工具使用。

Parameters
  • et_record – 保存 ETRecord 文件的路径。

  • edge_dialect_programEdgeProgramManager 该模型通过调用 to_edge() 返回

  • executorch_program – 该模型调用 to_executorch()BundledProgram 返回的 ExecuTorch 程序

  • [可选] (export_modules) – OSS用户应忽略此内容。一个包含图模块的字典,键为用户提供的名称,值为对应的导出模块。导出的图模块可以是 torch.export()exir.to_edge() 的输出。

Returns

请提供需要翻译的单词列表。

使用一个 ETRecord

ETRecord 作为可选参数传递给 Inspector API,以访问此数据并进行运行后分析。

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源