• 文件 >
  • ExecuTorch 開發者工具簡介
快捷方式

ExecuTorch 開發者工具簡介

ExecuTorch 的核心目標之一是提高生產力,ExecuTorch 開發者工具透過提供全面的工具套件來實現這一目標,幫助使用者分析、除錯和視覺化已移植到 ExecuTorch 的模型。

開發者工具的所有元件都從頭開始設計,與匯出過程和執行時深度整合。這使我們能夠提供獨特的功能,例如將執行時中的運算子執行連結回該運算子在原始 Eager 模型中的原始碼行。

開發者工具功能

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

  • 捆綁程式 (BundledProgram) 是一個實用工具,用於匯出與一組樣本(代表性)輸入和預期輸出捆綁在一起的模型,以便使用者在執行時驗證實際輸出是否與預期輸出相同。

  • 效能分析:按運算子級別細分效能統計資訊

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

    • 模型載入和執行時間

  • 委託整合:顯示來自委託後端的效能詳細資訊

    • 將委託運算子執行連結回它們在 Edge 方言圖中的節點(然後連結回原始碼和模組層次結構)

  • 除錯:中間輸出和輸出質量分析

  • 記憶體分配洞察:視覺化記憶體規劃方式,以及所有活動張量在任何時間點的所在位置

  • 視覺化:即將推出

開發者工具的基本元件

為了充分理解和利用本節中開發者工具的功能,將詳細介紹驅動開發者工具的基本元件。

ETRecord

ETRecord (ExecuTorch 記錄) 是在匯出過程中生成的一個工件,它儲存了圖和其他元資料,這些資料對於開發者工具將來自執行時的效能/除錯資料鏈接回 Eager 模型的原始碼至關重要。

為了與傳統軟體開發進行粗略類比,ETRecord 可以被視為使用除錯符號構建的二進位制檔案,用於 GNU 專案偵錯程式 (gdb) 中的除錯。

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

ETDump

ETDump (ExecuTorch 轉儲) 是模型執行後由執行時生成的一個二進位制塊 (binary blob)。與上述類似,為了與傳統軟體開發進行粗略類比,ETDump 可以被視為 ExecuTorch 的 coredump,但在這種情況下,我們在 ETDump 中儲存了執行時在模型執行期間生成的所有效能和除錯資料。

注意

如果您只關心檢視原始效能資料,而不需要連結回原始碼和其他高階功能,則僅有 ETDump 就足以利用開發者工具的基本功能。為了獲得完整體驗,建議使用者同時生成 ETRecord。

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

檢查器 API

檢查器 Python API 是開發者工具的主要使用者入口點。它們將來自 ETDump 和 ETRecord 的資料結合起來,透過易於使用的 API 為使用者提供來自執行時的所有效能和除錯資料,並連結回 Eager 模型原始碼和模組層次結構。

有關如何使用檢查器 API 的更多詳細資訊,請參見檢查器 API 文件

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲取問題解答

檢視資源