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