• 文件 >
  • 使用聯發科後端建置與執行 ExecuTorch
捷徑

使用聯發科後端建置與執行 ExecuTorch

聯發科後端讓 ExecuTorch 能夠加速配備聯發科 Neuron 處理單元 (NPU) 的邊緣裝置上的 PyTorch 模型。本文檔提供逐步指南,用於設定聯發科 ExecuTorch 程式庫的建置環境。

您將在本教學中學到什麼
  • 如何使用 ExecuTorch 為聯發科裝置提前匯出和降低 PyTorch 模型。

  • 如何建置聯發科後端和範例。

  • 如何使用 ExecuTorch 執行階段將匯出的模型部署在裝置上。

我們建議您在此之前完成的教學課程

先決條件 (硬體和軟體)

主機作業系統

  • Linux 作業系統

支援的晶片:

  • MediaTek Dimensity 9300 (D9300)

軟體:

  • NeuroPilot Express SDK 是一個輕量級的 SDK,用於在 MediaTek SOC 裝置上部署 AI 應用程式。

設定您的開發者環境

請依照以下步驟設定您的建置環境

  1. 設定 ExecuTorch 環境: 請參考 設定 ExecuTorch 指南,以取得設定 ExecuTorch 環境的詳細說明。

  2. 設定 MediaTek 後端環境

  • 安裝相依的程式庫。請確認您位於 backends/mediatek/ 目錄中

    pip3 install -r requirements.txt
    
  • 安裝從 NeuroPilot Portal 下載的兩個 .whl 檔案

    pip3 install mtk_neuron-8.2.13-py3-none-linux_x86_64.whl
    pip3 install mtk_converter-8.9.1+public-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    
  • 設定用於建置後端的環境變數

    export NEURON_BUFFER_ALLOCATOR_LIB=<path_to_buffer_allocator.so>
    

建置

預先 (Ahead of time):

匯出用於 MediaTek 後端的 PyTorch 模型:

  1. 降低並匯出用於裝置上執行的 .pte 檔案。匯出腳本範例位於 example/mediatek/ 下。 例如,以下命令使用提供的腳本匯出 .pte

cd executorch

./examples/mediatek/shell_scripts/export_oss.sh mobilenetv3
  1. 在與模型名稱相同的目錄下找到 .pte 檔案。

執行階段:

建置用於 ExecuTorch 執行階段的 MediaTek 後端

  1. 導覽至 backends/mediatek/scripts/ 目錄。

  2. 建置 MediaTek 後端: 一旦具備了先決條件,請執行 mtk_build.sh 腳本以啟動建置過程

    ./mtk_build.sh
    
  3. MediaTek 後端將建置在 cmake-android-out/backends/ 下,名稱為 libneuron_backend.so

建置一個執行器 (runner) 以在裝置上執行模型:

  1. 透過執行指令碼來建置執行器和後端

./mtk_build_examples.sh
  1. 執行器將建置在 cmake-android-out/examples/

在裝置上部署和執行

  1. 將 MediaTek 通用 SDK 和 MediaTek 後端推送到裝置: 將 libneuronusdk_adapter.mtk.solibneuron_backend.so 推送到手機,並在執行具有 MediaTek 後端的 ExecuTorch 之前,將其匯出到 $LD_LIBRARY_PATH 環境變數。

    export LD_LIBRARY_PATH=<path_to_usdk>:<path_to_neuron_backend>:$LD_LIBRARY_PATH
    

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

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

檢視教學課程

資源

尋找開發資源並獲得解答

檢視資源