目录

将后端委托集成到ExecuTorch

免责声明:我们计划重新组织仓库结构,围绕委托进行重构。 随着这一变化,其中一些指南在未来可能会发生变化。

这是在将后端委托与 ExecuTorch 集成时的高层次指南。

目录结构

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

Python 源代码文件

委托实现 preprocess()partition() 函数的 Python 文件,用于 ExecuTorch AOT 流程,不包括任何外部第三方依赖及其文件,应与顶级 ExecuTorch 包一起安装并可用。对于第三方依赖,请参阅 此链接

C++ 源文件

至少,一个委托必须提供 CMake 支持以构建其 C++ 源代码。

对于CMake设置,委托目录应通过顶级CMakeLists.txt文件使用add_subdirectory CMake命令包含,并且应该有条件地使用类似EXECUTORCH_BUILD_<DELEGATE_NAME>的ExecuTorch构建标志进行构建,请参阅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 的全面开发人员文档

查看文档

教程

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

查看教程

资源

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

查看资源