• 文档 >
  • 将后端 Delegate 集成到 ExecuTorch
快捷方式

将后端代理集成到 ExecuTorch

免责声明:我们计划重构代理相关的仓库。因此,其中一些指南将来会发生变化。

这是将后端代理与 ExecuTorch 集成的高级指南。

目录结构

代理文件应放在此目录下: executorch/backends/<delegate_name>/。代理名称必须是唯一的。

Python 源文件

Delegate Python 文件,例如为 ExecuTorch AOT 流实现的 preprocess()partition() 函数,不包括任何外部第三方依赖项及其文件,应随顶级 ExecuTorch 包一起安装并可用。对于第三方依赖项,请参阅 此处

C++ 源文件

至少,代理必须提供 CMake 支持来构建其 C++ 源文件。

对于 CMake 设置,应使用 add_subdirectory CMake 命令将代理目录包含在顶级 CMakeLists.txt 文件中,并应使用 ExecuTorch 构建标志(如 EXECUTORCH_BUILD_<DELEGATE_NAME>)有条件地构建,请参阅 EXECUTORCH_BUILD_XNNPACK 作为示例。对于第三方依赖项,请参阅 此处

测试

测试应添加到 executorch/backends/<delegate_name>/test 下。测试可以是 Python 或 C++ 测试。有关添加更复杂的端到端 (e2e) 测试,请与我们联系。

常见的测试类型

  • 简单的 Python 单元测试,用于测试 AOT 逻辑,例如 partitioner() 或 AOT 导出流(从 nn.Module 生成 .pte 文件)。

  • 运行时 C++ 测试,使用 gtest,用于测试代理的 init()execute() 运行时逻辑。

文档

代理必须包含一个 executorch/backends/<delegate_name>/README.md 文件,其中解释了代理的基本知识、目录结构、功能以及已知问题(如有)。

除上述步骤之外的任何额外设置步骤都应记录在 executorch/backends/<delegate_name>/setup.md 中。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

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

查看资源