• 文件 >
  • 先決條件 | ETRecord - ExecuTorch 記錄
快捷方式

先決條件 | ETRecord - ExecuTorch 記錄

概觀

ETRecord 旨在成為使用者預先產生的除錯產物 (當他們匯出模型以在 ExecuTorch 上執行時)。粗略地類比傳統的軟體開發,ETRecord 可以被視為帶有除錯符號的二進位檔案,用於 GNU 除錯器 (gdb) 中的除錯。預期使用者會將其提供給 ExecuTorch 開發者工具,以便他們除錯和視覺化模型。

ETRecord 包含許多元件,例如

  • 帶有除錯句柄的 Edge 方言圖

  • 委派除錯句柄映射

ETRecord 物件本身旨在對使用者是不透明的,他們不應直接存取其中的任何元件。應將其提供給 Inspector API,以便將來自運行時的效能和除錯資料連結回 Python 原始碼。

產生 ETRecord

使用者應使用以下 API 來產生 ETRecord 檔案。他們需要提供 Edge Dialect 程式 (由呼叫 to_edge() 傳回)、ExecuTorch 程式 (由呼叫 to_executorch() 傳回),以及他們有興趣透過我們的工具使用的可選模型。

警告

使用者應對 to_edge() 的輸出進行深拷貝 (deepcopy),並將深拷貝傳遞給 generate_etrecord API。這是必要的,因為後續的呼叫 to_executorch() 會進行就地變更,並在此過程中遺失除錯資料。

executorch.devtools.etrecord._etrecord.generate_etrecord(et_record, edge_dialect_program, executorch_program, export_modules=None)[source]

從給定的物件產生 ETRecord,將其序列化並儲存到給定的路徑。將被序列化為 ETRecord 的物件是存在於 export_modules 字典中的所有圖模組、存在於 edge dialect program 物件中的圖模組,以及存在於 ExecuTorch 程式物件中的圖模組,它是最終在裝置上執行的最接近的圖模組表示形式。除了所有圖模組之外,我們還序列化程式緩衝區,使用者可以將其提供給 ExecuTorch 運行時以執行模型,以及用於開發者工具的除錯句柄映射。

參數
  • et_recordETRecord 檔案將儲存到的路徑。

  • edge_dialect_program – 呼叫 to_edge() 傳回的此模型的 EdgeProgramManager

  • executorch_program – 呼叫 to_executorch() 傳回的此模型的 ExecuTorch 程式或此模型的 BundledProgram

  • [可選] (export_modules) – OSS 使用者應忽略。圖模組的字典,其中鍵是使用者提供的名稱,值是相應的匯出模組。匯出的圖模組可以是 torch.export()exir.to_edge() 的輸出。

傳回

None

使用 ETRecord

ETRecord 作為可選參數傳遞到 Inspector API 中,以存取此資料並進行執行後分析。

文件

存取 PyTorch 的全面開發者文件

查看文件

教學

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

查看教學課程

資源

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

查看資源