在 ExecuTorch 中对模型进行性能分析¶
在ExecuTorch中进行性能分析可让用户访问以下运行时指标:
模型加载时间。
算子级执行时间。
委托执行时间。
如果用户调用的委托已经与 开发者工具 集成,则用户还可以访问委托操作的执行时间。
端到端推理执行时间。
ExecuTorch 性能分析的一个独特之处在于,能够将每个运行时执行的算子追溯至其源自的 Python 代码的确切行。这一功能使用户能够轻松识别模型中的热点,将其定位到具体的 Python 代码行,并在需要时进行优化。
我们通过 Python Inspector API 提供对所有分析数据的访问。上述提到的数据可以通过这些接口进行访问,允许用户执行任何他们选择的运行后分析。
在 ExecuTorch 中对模型进行性能分析的步骤¶
[可选] 在导出模型时生成一个ETRecord。如果提供了此选项,将允许用户将性能分析详情与急切模式下的源代码(包括堆栈跟踪和模块层次结构)关联起来。
使用启用分析的预处理器标志构建运行时。详细信息请参阅 ETDump 文档。
在 ExecuTorch 运行时上运行您的程序并生成一个 ETDump。
通过将您从运行时获取的ETDump以及步骤1中可选生成的ETRecord传递给它,创建一个检查器API实例。
通过 Inspector API,用户可以进行广泛的分析,从打印性能详情到在模块级别进行更细粒度的计算。
请参考 开发工具教程,了解上述过程在示例模型上的逐步操作。