• 文档 >
  • 使用 MediaTek 后端构建和运行 ExecuTorch
快捷方式

使用 MediaTek 后端构建和运行 ExecuTorch

MediaTek 后端使 ExecuTorch 能够在配备 MediaTek 神经处理单元 (NPU) 的边缘设备上加速 PyTorch 模型。本文档提供了设置 MediaTek ExecuTorch 库构建环境的逐步指南。

您将在本教程中学到什么
  • 如何使用 ExecuTorch 为 MediaTek 设备提前导出和降低 PyTorch 模型。

  • 如何构建 MediaTek 后端和示例。

  • 如何在设备上使用 ExecuTorch 运行时部署导出的模型。

我们建议您在此之前完成的教程

先决条件(硬件和软件)

主机操作系统

  • Linux 操作系统

支持的芯片:

  • MediaTek 天玑 9300 (D9300)

软件:

设置您的开发者环境

按照以下步骤设置您的构建环境

  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>
    

构建

提前:

为 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

构建运行器以在设备上执行模型:

  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 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源