使用 MediaTek 后端构建和运行 ExecuTorch¶
MediaTek 后端使 ExecuTorch 能够在配备 MediaTek 神经元处理单元 (NPU) 的边缘设备上加速 PyTorch 模型。本文档提供了为 MediaTek ExecuTorch 库设置构建环境的分步指南。
如何使用 ExecuTorch for MediaTek 设备提前导出和降低 PyTorch 模型。
如何构建 MediaTek 后端和示例。
如何使用 ExecuTorch 运行时在设备上部署导出的模型。
先决条件(硬件和软件)¶
主机操作系统¶
Linux 操作系统
支持的芯片:¶
联发科天玑 9300 (D9300)
软件:¶
NeuroPilot Express SDK 是一款轻量级 SDK,用于在 MediaTek SOC 设备上部署 AI 应用程序。
设置开发人员环境¶
请按照以下步骤设置您的构建环境:
设置 ExecuTorch 环境:有关设置 ExecuTorch 环境的详细说明,请参阅设置 ExecuTorch 指南。
设置 MediaTek 后端环境
安装依赖的 libs。确保您位于目录中
backends/mediatek/
pip3 install -r requirements.txt
安装从 NeuroPilot 门户下载的两个 .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>
建¶
超前:¶
导出 PyTorch 模型用于 MediaTek 后端:
降低并导出文件以供在设备上执行。导出脚本示例位于 下。例如,以下 commnad 使用提供的脚本导出 。
.pte
example/mediatek/
.pte
cd executorch
./examples/mediatek/shell_scripts/export_oss.sh mobilenetv3
在名为 as same 的目录下找到与模型相同的文件。
.pte
运行:¶
为 ExecuTorch 运行时构建 MediaTek 后端
导航到目录。
backends/mediatek/scripts/
构建 MediaTek 后端:满足先决条件后,运行脚本以启动构建过程:
mtk_build.sh
./mtk_build.sh
MediaTek 后端将在 下构建为 。
cmake-android-out/backends/
libneuron_backend.so
构建一个运行程序以在设备上执行模型:
通过执行脚本来构建运行程序和后端:
./mtk_build_examples.sh
运行器将构建在
cmake-android-out/examples/
在设备上部署和运行¶
将 MediaTek 通用 SDK 和 MediaTek 后端推送到设备:推送到手机并导出到环境变量中,然后用 MediaTek 后端执行 ExecuTorch。
libneuronusdk_adapter.mtk.so
libneuron_backend.so
$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=<path_to_usdk>:<path_to_neuron_backend>:$LD_LIBRARY_PATH