mnn | mnn安装教程

  • MNN是阿里开源的一款用于边缘端设备部署、推理深度学习模型的框架,与腾讯开源的ncnn类似哈。
  • MNN在github上有开源,同时官方也有提供开发接口文档;而且写的比较详细。跟ncnn一样,MNN也是在手机端用的还比较多,而且支持Tensorflow、Caffe、ONNX等主流模型文件格式,支持CNN、RNN、GAN等常用网络

安装依赖

首先安装依赖,跟ncnn类似,依赖也比较少,而且跟ncnn的依赖差不多,所以如果编译过ncnn,基本上也不需要在安装什么库。主要安装以下依赖库:

sudo apt-get install cmake
sudo apt-get install libprotobuf-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libvulkan-dev

基本上,就需要安装这几个工具和库,这几个也是深度学习编程常见的库。

下载源码编译安装

git clone https://github.com/alibaba/MNN.git

cd MNN

./schema/generate.sh

mkdir build
cd build

默认编译:

cmake .. & make -j4

若需要打开某些功能还可以带参数编译:

cmake -DMNN_SUPPORT_TFLITE_QUAN=true \
      -DMNN_BUILD_CONVERTER=true \
      -DMNN_BUILD_QUANTOOLS=true \
      -DMNN_BUILD_DEMO=true \
      -DMNN_OPENMP=true .. 

修改MNN下的CMakeLists.txt文件。具体参数以及定义如下:

参数

默认值

作用

MNN_VULKAN

OFF

编译GPU优化库:MNN-VULKAN

MNN_ARM82

OFF

编译 MNN-ARM82 (新架构的CPU 优化 Backend)

MNN_OPENCL

OFF

编译 GPU 优化库: MNN-OpenCL

MNN_OPENGL

OFF

编译 GPU 优化库:MNN-OpenGL

MNN_USE_SYSTEM_LIB

OFF

编译 OpenCL/Vulkan 时,依赖系统的OpenCL/Vulkan 库或者。OFF 表示在运行时寻找系统驱动

MNN_BUILD_HARD

OFF

ARM平台下控制-mfloat-abi参数为hard或softfp

MNN_BUILD_SHARED_LIBS

ON

控制MNN相关库是否编译为动态库而非静态库

MNN_FORBID_MULTI_THREAD

OFF

禁用多线程

MNN_BUILD_DEMO

OFF

编译Demo

MNN_BUILD_TRAIN

OFF

编译训练相关

MNN_BUILD_QUANTOOLS

OFF

编译量化工具

MNN_BUILD_CONVERTER

OFF

编译模型转换器

MNN_EVALUATION

OFF

编译评估工具

MNN_DEBUG_MEMORY

OFF

调试内存

MNN_DEBUG_TENSOR_SIZE

OFF

调试Tensor大小

MNN_SUPPORT_TFLITE_QUAN

OFF

支持TFLite的量化Op

MNN_PORTABLE_BUILD

OFF

静态链接第三方依赖来创建不依赖特定路径的可执行文件

MNN_SEP_BUILD

OFF

分开编译MNN的各个后端以及表达式.只在MNN_BUILD_SHARED_LIBS=ON时有效

MNN_AAPL_FMWK

OFF

在Apple平台下将MNN作为Framework而非静态/动态库编译并打包metallib

编译后可将结果打包,默认打包路径是:

头文件: /usr/local/include/MNN
库文件: /usr/local/lib/libMNN.so
工具: /MNN/build
  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值