# m1000_mtnn **Repository Path**: MooreThreads-AI-SOC/m1000_mtnn ## Basic Information - **Project Name**: m1000_mtnn - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT-0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-26 - **Last Updated**: 2025-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MTNN (M1000 NPU Infer Engine) ## Overview MTNN软件栈可以帮助用户在M1000平台上,快速的部署AI模型到NPU. MTNN的整体workflow如下图所示: ![npu_sw_workflow](res/npu_workflow.png) 如果要使用NPU来进行推理,用户需要先使用MTC工具将来自外部准备好的onnx模型文件转换为mtnn模型文件(这个是离线进行的),然后再调用MTNNRT提供的C-API或Python-API在M1000平台上实现对模型的推理来完成部署. - NPU MTC:是NPU的编译器工具,负责在离线状态下将onnx模型转换为npu可以支持的mtnn格式的模型文件,转换的过程可以进行量化方式的选择,该工具目前只支持运行在M1000平台的Linux Arm64环境上. - NPU MTNNRT:是NPU的runtime库,提供了C API接口来帮助用户实现对mtnn模型的载入和推理加速的应用,另外Python API的执行也依赖于该模块. - NPU Unify Driver:是NPU的驱动层,包含了UMD和KMD,负责调度NPU硬件,为runtime库提供支撑.
## Release **最新版本:v1.4.0** 此处获取最新版本[npu_sdk_v1.4.0.tar.gz](https://moorethreads-ai-soc.tos-cn-beijing.volces.com/npu_sdk_release/npu_sdk_v1.4.0.tar.gz),其包含主要内容如下: - ReleaseNote - MTNN User Guide文档 - MTC的DEB包 - MTNNRT的DEB包 - MTNN UMD的DEB包 - MTNN KMD的DEB包 - Python API的wheel包 **历史版本:** 此处查看并获取其他[历史版本](./docs/history.md)
## 快速开始 请参考[快速开始文档](./docs/QuickStart.md),进行 MT NPU 模型转换和模型部署。 如需了解MTNN的更多使用,请参考[mtnn_guide文档](./docs/mtnn_guide_v1.4.0.md)。
## 关于Sample #### 准备环境 > ⚠️ base on m1000 arm64 env ```bash # clone仓库 git clone https://gitee.com/MooreThreads-AI-SOC/m1000_mtnn.git # 安装依赖 make install_deps ``` #### 如何编译 c/c++ sample ```bash make # Then you can find the build results under folder "build/sdk/". # And, you can use 'make help' to get more makefile options info ``` #### 如何运行 c/c++ sample 如何调用c-api来实现推理, 可以参考"sample/mtnn_test"路径下的sample代码实现. 运行sample自带的mobilenetv2模型的推理: ```bash cd sample/mtnn_test/ ./run_mobilenetv2.sh cd - ``` 运行sample自带的resnet50模型的推理: ```bash cd sample/mtnn_test/ ./run_resnet50.sh cd - ``` #### 如何运行 python sample 运行sample自带的mobilenetv2模型的推理: ```bash cd sample/mtnn_test/ ./run_mobilenetv2.sh --use_py cd - ``` 运行sample自带的resnet50模型的推理: ```bash cd sample/mtnn_test/ ./run_resnet50.sh --use_py cd - ```
## 关于如何打包 #### 如何打包 mtnnrt deb ```bash make deb # Then you can find deb file under folder "release/4unify/debs/". ``` #### 如何打包 python api wheel ```bash make whl # Then you can find wheel file under folder "release/4unify/py/". ```
## Supported Models 目前在NPU上验证过的网络模型,都已经整理到[m1000_npu_model_zoo](https://gitee.com/MooreThreads-AI-SOC/m1000_npu_model_zoo)仓库中. 可以从中获取需要的模型,了解如何转换为mtnn模型,如何运行,帮助快速实现模型部署.
## 常见问题