ExecuTorch 文档
为不受支持的架构添加支持
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
为不受支持的架构添加支持
我们欢迎您为扩展 ExecuTorch 导出功能做出贡献。本指南为希望以下操作的贡献者提供了高级说明:
- 导出当前不支持的新模型。
- 添加新的配方或支持新的导出任务。
导出新模型
如果您想导出库中尚未支持的模型,请按照以下步骤操作:
步骤 1:导出和测试模型
- 尝试使用现有任务和配方导出并降低模型。成功后,它会将导出的模型存储在 `.pte` 文件中。
- 在相应的测试套件中为模型添加一个测试用例。
- 例如,您可以通过运行以下命令来确保新的
my_new_model
通过测试:pytest tests/executorch/export/test_*.py -k "test_my_new_model" # doctest: +SKIP pytest tests/executorch/runtime/test_*.py -k "test_my_new_model" # doctest: +SKIP
- 例如,您可以通过运行以下命令来确保新的
步骤 2:处理导出失败
- 如果步骤 1 中的导出失败,请通过打开 GitHub Issue 来报告问题。
- 如果问题需要更改模型的架构或其 Hugging Face 实现,则这些修改可以在 Hugging Face Transformers 库的上游进行。
添加新配方或任务
要使用新配方或任务扩展 ExecuTorch,请遵循以下准则:
注册新配方
您可以添加自定义配方来定义导出模型的特定优化或配置。以下是一个示例:
from exporters.executorch import register_recipe
@register_recipe("my_custom_recipe")
def export_with_custom_recipe(model, config, *args, **kwargs):
# Example: Apply a custom quantization
注册任务
任务注册过程与添加配方相同。除此之外,您可能需要实现一个新的 `ExecuTorchModelForXXX` 类。