• 文档 >
  • 将后端委托集成到 ExecuTorch
快捷键

将后端代理集成到 ExecuTorch

免责声明:我们计划围绕代理重构存储库。随着时间的推移,其中一些指南将会改变。

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

目录结构

代理文件应位于此目录下:executorch/backends/<delegate_name>/。代理名称应唯一。

Python 源文件

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

C++ 源文件

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

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

添加 buck2 支持是可选的,但将使代理可供更多 ExecuTorch 用户使用。

测试

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

常见测试类型

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

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

文档

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

除了上面列出的步骤之外,任何额外的设置步骤都应记录在 executorch/backends/<delegate_name>/setup.md 文件中。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源