【环境搭建】linux上编译安装MNN
官方文档
https://mnn-docs.readthedocs.io/en/latest/index.html
https://github.com/alibaba/MNN
编译安装
git clone https://github.com/alibaba/MNN.git
cd ./MNN
./schema/generate.sh
mkdir build
cd build
cmake .. -DMNN_BUILD_CONVERTER=ON -DMNN_BUILD_TORCH=ON -DMNN_BUILD_TOOL=ON -DMNN_BUILD_BENCHMARK=ON -DMNN_BUILD_QUANTOOLS=ON -DMNN_BUILD_DEMO=ON
make -j8
make install
编译生成的可执行文件在build文件夹下
cd pymnn/pip_package
python build_deps.py
pip install aliyun-log-python-sdk
python setup.py install
ONNXToMNN
./MNNConvert -f ONNX --modelFile XXX.onnx --MNNModel XXX.mnn --bizCode biz --fp16
在Android上使用测试工具
cd project/android
mkdir build_64
cd build_64
../build_64.sh
../updateTest.sh
# 使用adb将编译生成的.so文件和测试工具push到手机上
在Android上测试(以timeProfile.out为例):
adb shell
cd /data/local/tmp/MNN
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
./timeProfile.out [adb push到手机上的.mnn文件] [测试的循环次数,默认为100] [执行推理的计算设备,默认为0,代表cpu] [输入tensor的大小] [线程数,仅对CPU有效,默认为4] [精度,仅对CPU有效,默认为0]
# ./timeProfile.out mobilenetv2-7.mnn 10 0 1x3x224x224 1
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。