在 ExecuTorch 中對模型進行效能分析¶
ExecuTorch 中的效能分析為使用者提供了以下執行時指標
模型載入時間。
運算元級別執行時間。
Delegate 執行時間。
如果使用者呼叫的 delegate 已與開發者工具整合,則使用者還可以訪問委託運算元的執行時間。
端到端推理執行時間。
ExecuTorch 效能分析的一個獨特之處在於,能夠將每一個執行時執行的運算元追溯到產生該運算元的確切 Python 程式碼行。此功能使使用者可以輕鬆識別模型中的效能瓶頸,追溯到確切的 Python 程式碼行,並根據需要進行最佳化。
我們透過 Python 檢查器 API 提供對所有效能分析資料的訪問。上述資料可以透過這些介面訪問,允許使用者進行任何他們選擇的執行後分析。
在 ExecuTorch 中對模型進行效能分析的步驟¶
[可選] 在匯出模型時生成一個ETRecord。如果提供,這將使使用者能夠將效能分析細節連結回 eager 模式的模型原始碼(包括堆疊跟蹤和模組層次結構)。
使用啟用效能分析的預處理器標誌構建執行時。詳細資訊請參閱ETDump 文件。
在 ExecuTorch 執行時上執行程式並生成一個ETDump。
透過傳入從執行時獲取的 ETDump 以及步驟 1 中可選生成的 ETRecord,建立一個Inspector API 例項。
透過 Inspector API,使用者可以進行廣泛的分析,從列印效能詳細資訊到在模組級別進行更精細的計算。
請參考開發者工具教程,瞭解上述過程在示例模型上的逐步演示。