MNN App AI推理

简介

MNN(Mobile Neural Network) 是阿里巴巴开源的一个轻量级、高性能、跨平台的深度学习推理引擎,主要用于移动端和边缘端设备的神经网络模型推理。它支持多种主流深度学习框架导出的模型(如 TensorFlow、PyTorch、ONNX、Caffe),并提供了丰富的 API 接口与高度优化的内核。

GitHub 项目地址:https://github.com/alibaba/MNN

特性 说明
🪶 轻量级 支持极小的二进制体积,适合嵌入式、移动等端侧设备
🚀 高性能 针对 CPU(Arm)、GPU(OpenCL、Metal)、DSP(Hexagon)等多平台做了性能优化
📦 模型转换工具 提供 Python 和命令行工具用于将 TensorFlow、PyTorch、ONNX、Caffe 模型转为 MNN 格式
🧩 支持前后处理 内置图像处理、量化、裁剪、归一化等常用预处理能力
🧠 支持多种模型结构 支持 ResNet、YOLO、MobileNet、BERT 等常见模型
🛠️ 跨平台 支持 Android、iOS、Linux、Windows、macOS

环境搭建

下载项目:https://github.com/alibaba/MNN.git

1
2
3
4
5
cd MNN/
./schema/generate.sh
mkdir build
cd build
cmake .. -DMNN_BUILD_CONVERTER=true && make -j4

编译完成后下面脚本获取模型,执行:

1
../tools/script/get_model.sh

执行完成后,在 project/ios目录打开Demo项目运行!

如何集成到自己App

打包MMN到Framwork

1
2
3
4
5
6
7
8
9
10
11
12
13
cd project/ios

# 编译模拟器
xcodebuild -project MNN.xcodeproj -scheme MNN -configuration Release -sdk iphonesimulator -derivedDataPath ./

# 编译真机
xcodebuild -project MNN.xcodeproj -scheme MNN -configuration Release -sdk iphoneos -derivedDataPath ./

# 合并为xcFramework
xcodebuild -create-xcframework \
-framework ./Build/Products/Release-iphoneos/MNN.framework \
-framework ./Build/Products/Release-iphonesimulator/MNN.framework \
-output MNN.xcframework

执行成功后,当前目录会出现 MNN.xcframework文件!