1,介绍
MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。
2,安装
2.1 编译mnn
git clone https://github.com/alibaba/MNN.git
cd MNN
./schema/generate.sh
mkdir build
cd build
cmake .. \
-DMNN_BUILD_CONVERTER=true \
-DMNN_VULKAN=true \ # vulkan 2-4
-DMNN_USE_SYSTEM_LIB=true \
-DMNN_SEP_BUILD=false \
-DMNN_BUILD_QUANTOOLS=on # quantization
make -j 4
2.2 protobuf>3.0
2.3 VULKAN
# https://vulkan.lunarg.com/sdk/home,下载,vulkansdk-linux-x86_64-1.2.141.0.tar.gz
tar -xf vulkansdk-linux-x86_64-1.2.141.0.tar.gz
sudo apt install vulkan-utils
# setup vulkan env
export VULKAN_SDK=$HOME/vulkansdk-linux-x86_64-1.2.141.0/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$VULKAN_SDK/lib:$LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d
3,模型转换
3.1 onnx->mnn
./MNNConvert -version
0.2.1.5git
./MNNConvert -f ONNX \
--modelFile mnist.onnx \
--MNNModel mnist.mnn \
--bizCode biz
3.2 量化转换
./quantized.out origin.mnn quan.mnn pretreatConfig.json
4,Android环境
4.1 安装
1,jdk,java -version
2,进入,https://developer.android.google.cn/studio,下载,android-studio-ide-193.6514223-linux.tar.gz
tar -xf android-studio-ide-193.6514223-linux.tar.gz
bash android-studio/bin/studio.sh # 一路确定,安装sdk,默认位置:~/Android/Sdk
3,android sdk,http://tools.android-studio.org/index.php/sdk,下载android-sdk_r24.4.1-linux.tgz
vim /etc/profile
#android sdk
export ANDROID_SDK=/home/rose/Android/Sdk
export PATH=${PATH}:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
source /etc/profile
adb version # 测试
Tools -> Create Desktop Entry.. # 创建桌面快捷方式,添加到收藏夹
sudo chmod 777 /dev/kvm # 设置虚拟主机权限,方式最简单
# 创建项目
Andriod Studio -> Start a new Android Studio project -> Empty Activaty
Tools -> AVD -> Virtual Device Manager/Configure -> SDK Quickfix Installation -> Finish,
Action -> [Start] # 打开模拟器
4.2 adb错误
adb kill-server
adb start-server
5,测试项目