【环境搭建】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

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐