在 ExecuTorch 中分析模型¶
ExecuTorch 中的性能分析让用户可以访问以下运行时指标
模型加载时间。
运算符级别执行时间。
委托执行时间。
如果用户调用的委托已与开发者工具集成,则用户还可以访问委托运算符执行时间。
端到端推理执行时间。
ExecuTorch 性能分析的一个独特之处在于能够将每个运行时执行的运算符链接回生成此运算符的确切 Python 代码行。此功能使用户可以轻松识别模型中的热点,将其追溯到确切的 Python 代码行,并在选择后进行优化。
我们通过 Python Inspector API 提供对所有性能分析数据的访问。可以通过这些接口访问上述数据,从而允许用户对其选择的运行后分析执行任何操作。
在 ExecuTorch 中分析模型的步骤¶
[可选] 在导出模型时生成 ETRecord。如果提供,这将使用户能够将性能分析详细信息链接回 eager 模型源代码(带有堆栈跟踪和模块层次结构)。
使用启用性能分析的预处理器标志构建运行时。详细信息请参阅 ETDump 文档。
在 ExecuTorch 运行时上运行您的程序并生成 ETDump。
通过传入从运行时获取的 ETDump 以及从步骤 1 中可选生成的 ETRecord,创建 Inspector API 的实例。
通过 Inspector API,用户可以进行各种分析,从打印性能详细信息到对模块级别进行更精细的计算。
有关示例模型上上述过程的逐步演练,请参阅开发者工具教程。