多种 NPU 平台、多种语言的神经网络推理运行时示例集。
说明:每个子目录是一个独立的 NPU 推理运行时示例。所有与模型强相关的动态参数(模型路径、输入/输出张量名、输入尺寸、类别数、量化参数、NPU 设备号、加速库/后端选择等)均以 TODO 注释占位,请按实际模型填写后使用。示例中的 example.png / example2.png 等输入图片与模型文件需自行准备。
| 目录 |
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、Go go.mod、Rust Cargo.toml、Java pom.xml、C# .csproj、Node package.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。模型与这些原生依赖未包含在本仓库内。