多种 NPU 平台、多种语言的神经网络推理运行时示例集。
说明:每个子目录是一个独立的 NPU 推理运行时示例。所有与模型强相关的动态参数(模型路径、输入/输出张量名、输入尺寸、类别数、量化参数、NPU 设备号、加速库/后端选择等)均以
TODO注释占位,请按实际模型填写后使用。示例中的example.png/example2.png等输入图片与模型文件需自行准备。
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| python_ascend | 华为昇腾 Ascend | CANN (pyACL) / MindSpore Lite | 昇腾 NPU 推理(ACL 内存/流管理) |
| python_rknn | 瑞芯微 Rockchip | rknn-toolkit2 | RK3588/RK3576 等 NPU 推理(含量化) |
| python_cambricon | 寒武纪 Cambricon | MagicMind / CNRT | MLU 推理(PyMagicMind) |
| python_sophon | 算能 Sophon | sail | BM1684X 等 TPU 推理(SAIL 封装) |
| python_horizon | 地平线 Horizon | hb_mapper / hbdk | 征程 BPU 推理(工具链转换) |
| python_qualcomm | 高通 Qualcomm | QNN / qai-hub | Hexagon NPU 推理(QNN 后端) |
| python_mediatek | 联发科 MediaTek | NeuroPilot | APU 推理(NeuroPilot SDK) |
| python_coreml | Apple | coremltools | Apple Neural Engine 推理(Core ML) |
| python_openvino_npu | Intel | openvino | NPU 插件推理(device="NPU") |
| python_ort_npu | 通用(NPU EP) | onnxruntime | ONNX Runtime NPU 执行提供程序 |
| python_tflite_npu | 通用(delegate) | tensorflow | TFLite NNAPI / Hexagon 委派推理 |
| python_executorch | 移动端 NPU | executorch | ExecuTorch NPU backend(高通/联发科) |
| python_ncnn | 通用(Vulkan) | ncnn | NCNN Vulkan 加速推理 |
| python_mnn | 通用(NPU) | MNN | MNN NPU backend 推理 |
| python_paddlelite | 通用(国产 NPU) | paddlelite | Paddle Lite 华为/瑞芯微 NPU 推理 |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| cpp_ascend | 华为昇腾 Ascend | CANN (ACL) | 昇腾 NPU C++ 推理(aclrt 运行时) |
| cpp_rknn | 瑞芯微 Rockchip | RKNN API | RKNPU2 C++ 推理 |
| cpp_qualcomm | 高通 Qualcomm | SNPE / QNN | Hexagon NPU C++ 推理 |
| cpp_openvino_npu | Intel | OpenVINO C++ | NPU 插件 C++ 推理 |
| cpp_ncnn | 通用(Vulkan) | ncnn C++ | NCNN Vulkan 加速推理 |
| cpp_mnn | 通用(NPU) | MNN C++ | MNN NPU backend 推理 |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| go_onnxruntime | 通用(NPU EP) | onnxruntime_go | Go 版 ONNX Runtime(NPU 执行提供程序) |
| go_tflite | 通用(delegate) | go-tflite (+NNAPI) | Go 版 TFLite NNAPI 委派推理 |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| rust_ort | 通用(NPU EP) | ort | ONNX Runtime Rust 绑定(NPU 执行提供程序) |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| java_onnxruntime | 通用(NPU EP) | onnxruntime-java | Java 版 ONNX Runtime(NPU 执行提供程序) |
| java_djl | 多平台(NPU backend) | Deep Java Library | DJL 统一加载 + NPU 后端 |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| csharp_onnxruntime | 通用(NPU EP) | Microsoft.ML.OnnxRuntime | .NET 版 ONNX Runtime(NPU 执行提供程序) |
| 目录 | NPU 平台 | 运行库/框架 | 说明 |
|---|---|---|---|
| node_onnxruntime | 通用(NPU EP) | onnxruntime-node | Node.js 版 ONNX Runtime(NPU 执行提供程序) |
| node_webnn | 通用(WebNN) | WebNN API | WebNN NPU 后端推理 |
- 进入对应子目录,查看该语言/平台的
main文件与依赖清单。 - 将
TODO占位处替换为实际模型路径、输入输出名、输入尺寸、类别数、量化参数与 NPU 设备号等动态参数。 - 准备输入图片与模型文件(部分平台需先经官方工具链转换为 NPU 专用格式),按各目录的构建/运行说明执行(Python
requirements.txt、C++CMakeLists.txt、Gogo.mod、RustCargo.toml、Javapom.xml、C#.csproj、Nodepackage.json)。
Go 示例依赖本机 C 运行时:
go_onnxruntime需要 ONNX Runtime C 共享库(可用ort.SetSharedLibraryPath指定路径);go_tflite需要 TensorFlow Lite C API 头文件与libtensorflowlite_c.so,并按上游 go-tflite 文档设置CGO_CFLAGS/CGO_LDFLAGS。模型与这些原生依赖未包含在本仓库内。