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也是類似這樣執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章