在 ExecuTorch 中分析模型效能¶
在 ExecuTorch 中進行效能分析,使用者可以存取以下運行時指標:
模型載入時間。
運算子層級執行時間。
委派執行時間。
如果使用者呼叫的委派已與開發者工具整合,則使用者還可以存取委派的運算子執行時間。
端到端推論執行時間。
ExecuTorch 效能分析的一個獨特之處是能夠將每個運行時執行的運算子連結回該運算子來源的確切 Python 程式碼行。 這種能力使使用者能夠輕鬆識別模型中的熱點,將它們追溯到確切的 Python 程式碼行,並選擇是否進行最佳化。
我們透過 Python Inspector API 提供對所有效能分析資料的存取。 上述資料可以透過這些介面存取,允許使用者對其選擇進行任何執行後分析。
在 ExecuTorch 中分析模型效能的步驟¶
[可選] 在匯出模型時產生一個 ETRecord。 如果提供此選項,使用者就能夠將效能分析詳細資訊連結回 eager 模型原始碼 (包含堆疊追蹤和模組層級結構)。
使用啟用效能分析的 pre-processor 標記建置運行時。 詳細資訊請參閱 ETDump 文件。
在 ExecuTorch 運行時上執行程式,並產生一個 ETDump。
透過傳入從運行時取得的 ETDump,以及從步驟 1 中選擇性產生的 ETRecord,來建立 Inspector API 的實例。
透過 Inspector API,使用者可以進行各種分析,從列印效能詳細資訊到在模組層級上進行更精細的計算。
請參閱開發者工具教學,以取得在範例模型上執行上述過程的逐步說明。