在 ExecuTorch 中分析模型¶
在 ExecuTorch 中分析可以让用户访问这些运行时指标
模型加载时间。
运算符级别执行时间。
委托执行时间。
如果用户调用的委托已与 SDK 集成,那么用户还可以访问委托运算符执行时间。
端到端推理执行时间。
ExecuTorch 分析的一个独特方面是能够将每个运行时执行的运算符链接回生成此运算符的 Python 代码的精确行。此功能使用户能够轻松识别模型中的热点,将其源代码追溯到 Python 代码的精确行,并在选择时进行优化。
我们通过 Python Inspector API 提供对所有分析数据的访问。上述数据可以通过这些接口访问,使用户能够执行他们选择的任何运行后分析。
在 ExecuTorch 中分析模型的步骤¶
[可选] 在导出模型时生成 ETRecord。如果提供,这将使用户能够将分析详细信息链接回急切模型源代码(带有堆栈跟踪和模块层次结构)。
使用启用分析的预处理器标志构建运行时。在 ETDump 文档 中详细说明。
在 ExecuTorch 运行时运行您的程序并生成一个 ETDump。
通过将您从运行时获取的 ETDump 以及步骤 1 中可选生成的 ETRecord 传递给 Inspector API,创建一个实例。
通过 Inspector API,用户可以进行广泛的分析,从打印性能细节到在模块级别进行更细粒度的计算。
请参考 SDK 教程,了解在示例模型上执行上述过程的逐步操作。