快捷方式

MediaTek 后端

MediaTek 后端支持在配备 MediaTek 神经处理单元 (NPU) 的边缘设备上加速 PyTorch 模型。此后端提供了用于导出、构建和部署模型以利用 MediaTek 硬件的工具。

特性

  • 在 MediaTek NPU 上加速 PyTorch 模型

  • 模型导出和降低的工具

  • 模型部署和执行的示例脚本

目标要求

  • 硬件: MediaTek Dimensity 9300 (D9300), Dimensity 9400 (D9400)

  • 主机操作系统: Linux

  • SDK: NeuroPilot Express SDK

开发要求

  • 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 文件保存在一个以模型命名的目录中。

分区器 API

MediaTek 后端支持 CompileSpec 列表

  • platform-config:指定要编译的目标 MediaTek 平台名称。

运行时集成

本节介绍导出和部署模型的示例。有关各种模型的导出和执行示例,请参阅 executorch/examples/mediatek/

构建示例运行器

构建示例运行器

./mtk_build_examples.sh

运行器位于 cmake-android-out/examples/mediatek/

部署到设备

  1. libneuron_backend.solibneuronusdk_adapter.mtk.solibneuron_buffer_allocator.so 推送到设备。

  2. 在运行 ExecuTorch 之前设置库路径

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

从源代码构建后端

  1. NeuronAdapter.h 复制到 backends/mediatek/runtime/include/api/

  2. 设置 NDK 路径:确保 $ANDROID_NDK 环境变量已设置为 NDK 所在的路径。

    export ANDROID_NDK=<path_to_android_ndk>
    
  3. 构建后端库 libneuron_backend.so

    cd backends/mediatek/scripts/
    ./mtk_build.sh
    

输出是 cmake-android-out/backends/mediatek/ 中的 libneuron_backend.so

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源