• 文件 >
  • ExecuTorch 開發者工具簡介
捷徑

ExecuTorch 開發者工具簡介

ExecuTorch 的設計以生產力作為核心目標之一,ExecuTorch 開發者工具透過其提供的完整工具套件實現此目標,以協助使用者分析、偵錯及視覺化他們載入至 ExecuTorch 的模型。

開發者工具的所有元件都經過徹底重新設計,並與匯出流程和執行階段深度整合。這使我們能夠提供獨特的功能,例如將執行階段中的運算符執行連結回原始 Eager 模型的程式碼行,該運算符即源自於此。

開發者工具功能

ExecuTorch 開發者工具支援以下功能

  • BundledProgram 是一個實用工具,用於匯出包含範例(具代表性)輸入和預期輸出的模型,以便使用者在執行時驗證實際輸出是否與預期輸出相同。

  • Profiling(效能分析):具有運算子層級效能統計細分的模型效能分析。

    • 將運算子效能統計連結回原始碼和模組層級結構。

    • 模型載入和執行時間。

  • Delegate Integration(委派整合):呈現來自委派後端的效能細節。

    • 將委派運算子的執行連結回它們在 edge dialect 圖表中代表的節點(並隨後連結回原始碼和模組層級結構)。

  • Debugging(除錯):中繼輸出和輸出品質分析。

  • Memory Allocation Insights(記憶體分配洞察):視覺化記憶體如何規劃,以及任何時間點所有活動張量的位置。

  • Visualization(視覺化):即將推出。

開發者工具的基本組成部分

為了充分理解和利用本節中開發者工具的強大功能,將詳細說明支援開發者工具的基本組成部分。

ETRecord

ETRecord (ExecuTorch Record) 是在匯出過程中產生的工件,用於儲存圖表和其他元數據,這些元數據對於開發者工具能夠將來自執行時的效能/除錯數據連結回 eager 模型原始碼至關重要。

為了與傳統軟體開發進行粗略的類比,ETRecord 可以被認為是使用除錯符號構建的二進位檔,用於 GNU Project debugger (gdb) 中的除錯。

有關如何產生和儲存 ETRecord 的更多詳細資訊,請參閱 ETRecord 文件

ETDump

ETDump (ExecuTorch Dump) 是執行模型後由執行時產生的二進位 blob。同樣,為了與傳統軟體開發進行粗略的類比,ETDump 可以被認為是 ExecuTorch 的核心轉儲 (coredump),但在這種情況下,我們在 ETDump 中儲存了執行時在模型執行期間產生的所有效能和除錯數據。

注意

如果您只關心查看原始效能數據,而無需連結回原始碼和其他廣泛的功能,則僅使用 ETDump 就足以利用開發者工具的基本功能。為了獲得完整的體驗,建議使用者也產生 ETRecord。

有關如何從執行時產生和儲存 ETDump 的更多詳細資訊,請參閱 ETDump 文件

Inspector APIs(檢測器 API)

Inspector Python API 是進入開發者工具的主要使用者入口點。它們將來自 ETDump 和 ETRecord 的數據結合在一起,讓使用者可以存取來自執行時的所有效能和除錯數據,並透過易於使用的 API 連結回 eager 模型原始碼和模組層級結構。

有關如何使用 Inspector API 的更多詳細資訊,請參閱 Inspector API 文件

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得適合初學者和進階開發者的深入教學課程

檢視教學課程

資源

尋找開發資源並獲得問題解答

檢視資源