目录

先决条件 |ETRecord - ExecuTorch 记录

概述

ETRecord旨在成为由 用户(当他们导出模型以在 ExecuTorch 上运行时)。 画一个粗略等同于常规软件开发的,可以认为是用 debug 符号构建的二进制文件 用于在 GNU 调试器 (gdb) 中进行调试。预计 用户将向 ExecuTorch 开发人员工具提供此文件,以便 他们来调试和可视化他们的模型。ETRecord

ETRecord包含许多组件,例如:

  • 带有调试句柄的 Edge dialect 图

  • 委托调试句柄映射

对象本身对用户来说是不透明的,他们不应该直接访问其中的任何组件。 应将其提供给 Inspector API,以将源自运行时的性能和调试数据链接回 Python 源代码。ETRecord

生成ETRecord

用户应使用以下 API 生成文件。他们 将需要提供 Edge Dialect 程序(由调用 )、 ExecuTorch 程序(由调用 返回 )和可选模型 他们有兴趣通过我们的工具进行合作。ETRecordto_edge()to_executorch()

警告

用户应对 的输出进行深层复制,并将深层复制传递给 API。这是必需的,因为后续调用 , 会进行就地更改,并且会在此过程中丢失调试数据。to_edge()generate_etrecordto_executorch()

executorch.devtools.etrecord._etrecord。generate_etrecordet_recordedge_dialect_programexecutorch_programexport_modules=[来源]

从给定对象生成 ETRecord,对其进行序列化并将其保存到给定路径。 将序列化为 ETRecord 的对象是存在的所有图形模块 在 export_modules dict 中,Edge dialect 程序对象中存在的 Graph 模块, 以及 ExecuTorch 程序对象中存在的图形模块,该 是最终在设备上运行的内容的图形模块表示形式。 除了所有的图模块之外,我们还序列化了程序缓冲区,用户 可以提供给 ExecuTorch 运行时来运行模型,并且调试句柄映射 供 Developer Tools 使用。

参数
  • et_recordETRecord 文件将保存到的路径。

  • edge_dialect_program – 调用 to_edge() 返回的此模型的 EdgeProgramManager

  • executorch_program – 通过调用 to_executorch() 或此模型的 BundledProgram 返回的此模型的 ExecuTorch 程序

  • [可选]export_modules) – OSS 用户应忽略。图形模块的字典,键是用户提供的名称, 值是相应的导出模块。导出的图形模块可以是 torch.export()exir.to_edge() 的输出。

返回

没有

使用ETRecord

将 as 可选参数传递到 Inspector API 中,以访问此数据并执行运行后分析。ETRecord

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源