NPU
NPU(Neural Processing Unit)是面向神经网络推理的专用计算单元,适合对延迟、功耗和吞吐有要求的端侧 AI 场景。MTT E300 内置 M1000 NPU,可用于视觉、语音和多模态模型推理。
在 MTT E300 上使用 NPU 时,通常基于 MTNN 软件栈完成模型转换、量化、部署和运行。
能力概览
MTT E300 的 NPU 软件栈围绕模型转换、运行推理和模型示例库展开:
- MTNN:提供面向 M1000 NPU 的模型转换、量化、Runtime API、部署运行和调试能力。
- NPU Model Zoo:提供可在 M1000 NPU 上部署的模型示例,覆盖图像分类、目标检测、图像分割和其他模型。
MTNN
MTNN(Moore Threads Neural Network)是一组专为摩尔线程长江 SoC(M1000)平台设计的端侧 AI 推理工具链与运行时库。它可以帮助你将训练好的深度学习模型高效部署到 M1000 设备上,充分发挥 NPU 的硬件加速能力,实现低延迟、高能效的设备端机器学习。MTNN 的工作流主要分为模型转换和运行推理两个阶段。
更多内容,参见 MTNN 文档。
NPU Model Zoo
m1000_npu_model_zoo 整理了可在 M1000 NPU 上部署的模型,并提供模型转换、量化和部署运行示例。你可以参考该仓库快速验证 NPU 推理链路,也可以基于示例适配自有模型。
如果你有新的模型适配,欢迎提交 PR。
- 图像分类
- 目标检测
- 图像分割
- 其他模型
| 编号 | 模型名称 | 量化类型 | 输入形状 | 模型链接 | 单核性能(fps) |
|---|---|---|---|---|---|
| 001 | mobilenet_v1 | INT16 | [1,3,224,224] | 🔗 | 636.84 |
| 002 | mobilenet_v3 | INT16 | [1,3,224,224] | 🔗 | 1189.85 |
| 003 | vit | INT16 | [1,3,224,224] | 🔗 | 17.99 |
| 004 | nsfw | UINT8 | [1,3,224,224] | 🔗 | 43.51 |
| 005 | gender-cls | INT16 | [1,3,224,224] | 🔗 | 18.02 |
| 006 | swin_vit | INT16 | [1,3,224,224] | 🔗 | 30.30 |
| 007 | efficientnet | UINT8 | [1,3,260,260] | 🔗 | 1.42 |
| 008 | deit | INT16 | [1,3,224,224] | 🔗 | 18.12 |
| 009 | dino_vit | INT16 | [1,3,224,224] | 🔗 | 7.03 |
| 010 | lenet | UINT8 | [1,1,28,28] | 🔗 | 2334.18 |
| 011 | Alexnet | UINT8 | [1,3,224,224] | 🔗 | 359.41 |
| 012 | VGG | UINT8 | [1,3,224,224] | 🔗 | 134.98 |
| 编号 | 模型名称 | 量化类型 | 输入形状 | 模型链接 | 单核性能(fps) |
|---|---|---|---|---|---|
| 001 | yolov8m | static onnx | [1,3,640,640] | 🔗 | 47.12 |
| 002 | yolov8s | static onnx | [1,3,640,640] | 🔗 | 80.89 |
| 003 | yolov11m | static onnx | [1,3,640,640] | 🔗 | 41.12 |
| 004 | yolov8m-pose | static onnx | [1,3,640,640] | 🔗 | 45.94 |
| 005 | yolov8s-pose | static onnx | [1,3,640,640] | 🔗 | 78.07 |
| 006 | yolov11m-pose | static onnx | [1,3,640,640] | 🔗 | 39.24 |
| 007 | retinaface(Resnet50) | INT16 | [1,3,640,640] | 🔗 | 19.65 |
| 008 | adaface(R100-WebFace12M) | INT16 | [1,3,112,112] | 🔗 | 86.07 |
| 009 | yolov5s | static onnx | [1,3,640,640] | 🔗 | 91.47 |
| 010 | efficientdet-d0 | INT16 | [1,3,512,512] | 🔗 | 51.89 |
| 011 | faster-rcnn | UINT8 | [1,3,512,512] | 🔗 | 75.15 |
| 012 | ssd | UINT8 | [1,3,300,300] | 🔗 | 284.92 |
| 013 | detr | UINT8 | [1,3,800,1066] | 🔗 | 4.13 |
| 014 | yolov26m | INT8 混合量化 | [1,3,640,640] | 🔗 | 26.63 |
| 015 | yolov5l-classic | static onnx | [1,3,640,640] | 🔗 | 23.98 |
| 016 | yolov8n-obb | static onnx | [1,3,640,640] | 🔗 | 123.80 |
| 017 | yolox-s | static onnx | [1,3,640,640] | 🔗 | 47.02 |
| 编号 | 模型名称 | 量化类型 | 输入形状 | 模型链接 | 单核性能(fps) |
|---|---|---|---|---|---|
| 001 | deeplab_v3 | INT16 | [1,3,513,513] | 🔗 | 25.59 |
| 002 | Unet | INT16 | [1,3,640,1280] | 🔗 | 2.18 |
| 003 | yolov8s-seg | UINT8 混合量化 | [1,3,640,640] | 🔗 | 68.82 |
| 004 | yolov8m-seg | UINT8 混合量化 | [1,3,640,640] | 🔗 | 42.07 |
| 005 | yolov11m-seg | UINT8 混合量化 | [1,3,640,640] | 🔗 | 31.86 |
| 006 | yolov5s-seg | UINT8 混合量化 | [1,3,640,640] | 🔗 | 67.12 |
| 007 | FastSAM | UINT8 混合量化 | [1,3,640,640] | 🔗 | 8.23 |
| 编号 | 模型名称 | 量化类型 | 类别 | 输入形状 | 模型链接 | 单核性能(fps) |
|---|---|---|---|---|---|---|
| 001 | mediapipe-hand | UINT8 | 手势识别 | [1,3,256,256] | 🔗 | 594.74 |
| 002 | PP-OCRv5 | INT16 | 文字识别 | [1,3,320,320] | 🔗 | 889.67 |
| 003 | Superpoint | UINT8 | 关键点检测 | [1,1,480,640] | 🔗 | 38.13 |
| 004 | wespeaker | INT16 | 说话人识别 | [1,1024,80] | 🔗 | 139.17 |
| 005 | GTE | INT16 | 语言文本表示 | int64[4,11] | 🔗 | 56.61 |
| 006 | whisper-tiny | INT16/fp16 | 语音识别 | [1,80,3000] | 🔗 | 5.18 |
| 008 | InsightFace | UINT8 | 人脸检测 | [1,3,640,640] | 🔗 | 168.39 |
| 009 | cutie | UINT8 | 视频图像分割 | [1,3,480,864] | 🔗 | 84.12 |
| 010 | PP-human | UINT8 | 行人属性 | [1,3,256,192] | 🔗 | 477.77 |
问题与反馈
如果在开发或者使用 mtnpu_model_zoo 的过程中,遇到任何 bug 或未支持的特性,请向仓库提交 issue。提交 issue 时,请给出复现问题的代码、报错 log,并打上对应标签。

