快捷方式

MediaTek 後端

MediaTek 後端使 ExecuTorch 能夠在配備 MediaTek 神經處理單元 (NPU) 的邊緣裝置上加速 PyTorch 模型。本文件提供了設定 MediaTek ExecuTorch 庫構建環境的分步指南。

本教程您將學到什麼
  • 如何使用 ExecuTorch 提前匯出和 Lowering 適用於 MediaTek 裝置的 PyTorch 模型。

  • 如何構建 MediaTek 後端和示例。

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

推薦您在此之前完成的教程

前提條件(硬體和軟體)

主機作業系統

  • Linux 作業系統

支援的晶片:

  • MediaTek Dimensity 9300 (D9300)

軟體:

設定開發者環境

按照以下步驟設定您的構建環境

  1. 設定 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>
    

構建

提前準備:

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

  1. Lowering 並匯出用於裝置上執行的 .pte 檔案。匯出指令碼示例位於 example/mediatek/ 目錄下。例如,以下 commnad 使用提供的指令碼匯出 .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. 透過執行指令碼構建 runners 和後端

./mtk_build_examples.sh
  1. runners 將構建到 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 的全面開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深入教程

檢視教程

資源

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

檢視資源