Ubuntu搭建MNN环境
一、安装g++、cmake、protobuf
sudo apt-get install 即可,建议protobuf的版本>3.0, g++版本>4.9
$ sudo apt-get install autoconf automake libtool curl make g++ unzip
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
下载完之后,终端输入g++ --version、protoc --version能输出相应版本即可。
二、下载MNN
进入github,搜索MNN,下载到电脑上之后,进入到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
转换成功之后的,尝试跑一个demo:
cd build
cmake -DMNN_BUILD_DEMO=ON ..
make -j8
其次,下载姿态估计的示例模型,下载地址:链接: https://pan.baidu.com/s/1QbEgh1kUjl2Kpi2ouwWfUA 提取码: rusy
下载完之后方到MNN/build文件夹中,终端输入以下指令:
./MNNConvert -f TF --modelFile model-mobilenet_v1_075.pb --MNNModel donkey.mnn --bizCode biz
即可,成功之后将生成的mnn文件以及网上下载的一张人体的图片放到MNN/demo/exe文件夹中,在MNN/build文件夹中打开终端,执行以下指令:
./multiPose.out donkey.mnn(生成的mnn文件的名称) /home/MNN-master/demo/exec/input.jpeg (需要检测图片的绝对路径)/home/kd/liang/MNN-master/demo/exec/pose.png(生成图片的绝对路径)
最后在MNN/demo/exec文件夹中,出现以下界面即为转换并推理成功: