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也是类似这样执行。

 

你可能感兴趣的:(深度学习,深度学习,MNN,计算机视觉,人工智能)