MediaTek 后端¶
MediaTek 后端支持在配备 MediaTek 神经处理单元 (NPU) 的边缘设备上加速 PyTorch 模型。此后端提供了用于导出、构建和部署模型以利用 MediaTek 硬件的工具。
特性¶
在 MediaTek NPU 上加速 PyTorch 模型
模型导出和降低的工具
模型部署和执行的示例脚本
目标要求¶
硬件: MediaTek Dimensity 9300 (D9300), Dimensity 9400 (D9400)
主机操作系统: Linux
开发要求¶
Linux 操作系统
Python 依赖项
pip3 install -r requirements.txt
NeuroPilot SDK Python wheel (从 NeuroPilot Express SDK 下载)
pip3 install mtk_neuron-8.2.19-py3-none-linux_x86_64.whl pip3 install mtk_converter-8.13.0+public-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
使用 MediaTek 后端¶
导出和降低模型¶
要为 MediaTek 后端导出和降低模型,请使用提供的 shell 脚本
cd executorch
./examples/mediatek/shell_scripts/export_oss.sh mobilenetv3
导出的 .pte
文件保存在一个以模型命名的目录中。
运行时集成¶
本节介绍导出和部署模型的示例。有关各种模型的导出和执行示例,请参阅 executorch/examples/mediatek/
。
部署到设备¶
将
libneuron_backend.so
、libneuronusdk_adapter.mtk.so
和libneuron_buffer_allocator.so
推送到设备。在运行 ExecuTorch 之前设置库路径
export LD_LIBRARY_PATH=<path_to_neuron_backend>:<path_to_usdk>:<path_to_buffer_allocator>:$LD_LIBRARY_PATH
从源代码构建后端¶
将
NeuronAdapter.h
复制到backends/mediatek/runtime/include/api/
设置 NDK 路径:确保
$ANDROID_NDK
环境变量已设置为 NDK 所在的路径。export ANDROID_NDK=<path_to_android_ndk>
构建后端库
libneuron_backend.so
cd backends/mediatek/scripts/ ./mtk_build.sh
输出是 cmake-android-out/backends/mediatek/
中的 libneuron_backend.so
。