MNN深度框架学习教程(一) 编译MNN,并跑通MNN的demo

实验环境:

系统:Ubuntu18.04

硬件设备:PC设备和树莓派4B

编译教程:

        MNN框架主要分为三部分:推理,训练和转换。推理:在端侧加载MNN模型进行推理的阶段。训练:训练框架上,根据训练数据训练出模型的阶段。转换:将其他训练框架模型转换为MNN模型的阶段。

因此我们的编译也需要分三部分来进行编译。

首先下载MNN:(我这个是使用码云进行了加速)

git clone https://gitee.com/zhanzzw/MNN.git

环境要求:

  • cmake(建议使用3.10或以上版本)、
  • protobuf(使用3.0或以上版本)
  • gcc(使用4.9或以上版本)

编译推理部分:

cd /path/to/MNN
./schema/generate.sh
mkdir build && cd build && cmake .. && make -j8

编译训练部分:

cd MNN/build
cmake .. -DMNN_BUILD_TRAIN=ON
make -j8

编译完成之后运行:

./runTrainDemo.out

如果显示出下面结果说明训练部分编译成功:

Usage: ./runTrainDemo.out CASENAME [ARGS]
Valid Case:
DataLoaderDemo
DataLoaderTest
DistillTrainQuant
ImageDatasetDemo
LinearRegress
MatMulGradTest
MnistInt8Train
MnistTrain
MnistTrainSnapshot
MobilenetV2PostTrain
MobilenetV2Train
MobilenetV2TrainQuant
MobilenetV2Transfer
NNGrad
NNGradV2
NNGradV3
OctaveMnist
PostTrain
PostTrainMobilenet
QuanByMSE
QuanMnist
TestMSE

转换部分编译:

cd MNN/
./schema/generate.sh
cd build
cmake .. -DMNN_BUILD_CONVERTER=true && make -j4

到此为止MNN的训练,推理和转换三部分已经编译成功了。

运行MNN的demo:

姿态检测demo:

代码:demo/exec/multiPose.cpp

 准备工作:

cd MNN/build
cmake -DMNN_BUILD_DEMO=ON ..
make -j8
  1. 下载原始的Tensorflow模型。链接: https://pan.baidu.com/s/1QbEgh1kUjl2Kpi2ouwWfUA 提取码: rusy
  2. 使用模型转换工具将pb模型转换为 MNN 模型。
    cd MNN/build
    ./MNNConvert -f TF --modelFile model-mobilenet_v1_075.pb --MNNModel donkey.mnn --bizCode biz
    

     

  3. 将转换之后的donkey.mnn模型复制到MNN/demo/exec文件夹下,执行行姿态检测。
    cd MNN/demo/exec
    ./multiPose.out donkey.mnn input.jpg pose.png

    其他demo也是类似这样执行。

 

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值