• 文件 >
  • ExecuTorch 中的記憶體規劃檢測
快捷鍵

在 ExecuTorch 中進行記憶體規劃檢查

在 ExecuTorch 的記憶體規劃步驟之後,記憶體分配資訊會儲存在 ExportedProgram 的節點上。在此,我們介紹一個工具,旨在檢查記憶體分配並視覺化所有活動的張量物件。

使用方式

使用者應在呼叫 to_executorch() 之後新增此程式碼,它會將儲存在節點上的記憶體分配資訊寫入檔案路徑 "memory_profile.json"。該檔案與 Chrome trace viewer 相容;請參閱下方以取得關於解讀結果的更多資訊。

from executorch.util.activation_memory_profiler import generate_memory_trace
generate_memory_trace(
    executorch_program_manager=prog,
    chrome_trace_filename="memory_profile.json",
    enable_memory_offsets=True,
)

Chrome Trace

開啟一個 Chrome 瀏覽器分頁,並導覽至 chrome://tracing/。上傳產生的 .json 檔案以檢視。範例:MobileNet V2 模型

Memory planning Chrome trace visualization

請注意,由於我們正在重新利用 Chrome trace 工具,因此與您之前可能遇到的其他 Chrome trace 圖表相比,此處的軸可能具有不同的含義。

  • 水平軸,儘管標記為秒 (s),但實際上代表兆位元組 (MBs)。

  • 垂直軸具有 2 層的層級結構。第一層 "pid" 代表記憶體空間。對於 CPU,所有內容都分配在一個「空間」上;其他後端可能有多個。在第二層中,每一列代表一個時間步。由於節點將依序執行,因此每個節點代表一個時間步,因此您將擁有與列數一樣多的節點。

延伸閱讀

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

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

檢視教學課程

資源

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

檢視資源