技术专栏
MNN使用0-安装与编译
1 mac上编译使用MNN
1.1 依赖环境安装
- brew install protobuf
- cmake的安装
1.2 编译MNN
若出现编译错误,检查CMakeLists.txt中的编译选项,该关掉的关掉就行。
编译好之后的MNN工具都在build目录下面,demo工程在目录demo文件夹下面
cd path/to/MNN
./schema/generate.sh
mkdir build && cd build
cmake -DMNN_BUILD_DEMO=ON ..
make -j8
在编译时,CMakeLists.txt中把以下选项设置为ON:
MNN_BUILD_DEMO
MNN_BUILD_TRAIN
MNN_BUILD_QUANTOOLS
MNN_BUILD_CONVERTER
MNN_EVALUATION
MNN_BUILD_BENCHMARK
1.3 安卓相关编译
# 安卓相关编译(cd到build目录下)
./tools/script/get_model.sh(可选,模型仅demo工程需要)。注意get_model.sh需要事先编译好模型转换工具。
cd project/android
# 编译armv8动态库(安卓下没法编译DMNN_BUILD_CONVERTER,所以必须设置为OFF,否则会出错)
# 注意:在 .bashrc 或者 .bash_profile 中设置 NDK环境变量,并将build_64.sh和build_32.sh中NDK目录的名字修改为你安装NDK时添加在~/.bash_profile中的名字
# 编译时把以下选项打开(其中,OPENCL、OPENGL、VULKAN三个选项最好单独编译,不然放在一起编译容易啥结果都没有(不清楚原因))
# cd到project目录下面/android
mkdir build_64 && cd build_64 && ../build_64.sh \
-DMNN_BUILD_DEMO=ON \
-DMNN_BUILD_TRAIN=ON \
-DMNN_BUILD_QUANTOOLS=ON \
-DMNN_EVALUATION=ON \
-DMNN_BUILD_BENCHMARK=ON \
-DMNN_OPENCL=ON \
-DMNN_OPENGL=ON \
-DMNN_VULKAN=ON \
-DMNN_ARM82=ON
# 编译armv7动态库(DMNN_BUILD_CONVERTER必须设置为OFF,否则会出错)(OPENGL编译失败,不知道为啥)
mkdir build_32 && cd build_32 && ../build_32.sh \
-DMNN_BUILD_DEMO=ON \
-DMNN_BUILD_TRAIN=ON \
-DMNN_EVALUATION=ON \
-DMNN_BUILD_QUANTOOLS=ON \
-DMNN_BUILD_BENCHMARK=ON \
-DMNN_OPENCL=ON \
-DMNN_OPENGL=ON \
-DMNN_VULKAN=ON
2 ubuntu上编译使用MNN
2.1 依赖环境安装
2.1.1 cmake安装(3.10以上)
我安装的是3.14
tar -zxvf xx.tar.gz
# 默认安装在/usr/local/bin下面,如果想改变安装位置可以改成/bootstrap '--prefile=PATH'
./bootstrap
make
sudo make install
# 检查是否安装好:
cmake --version
2.1.2 protobuf安装(3.0以上版本)
- 安装前须安装好vim、make、g++:
apt-get install g++
apt-get install vim
apt-get install make
下载protobuf
官方安装教程参考:
https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
前提,已经安装好以下几个包:
sudo apt-get install autoconf automake libtool curl make g++ unzip
下载链接: https://github.com/protocolbuffers/protobuf/releases
我下载的是3.8版本。
cd到下载解压后的目录下并执行:
./configure
make
make check
sudo make install
sudo ldconfig
如果安装时出现Cannot install to /usr错误,则执行make clean即可(可能是因为之前装过protobuf)
- 检查安装是否成功
protoc --version
2.1.3 gcc安装(4.9以上)
GCC可以用来编译C/C++、FORTRAN、java、OBJC、ADA等语言的程序
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-6
# 将默认的GCC和G ++进一步更改为版本6
sudo apt install g++-6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
2.2 编译MNN
cd /path/to/MNN
./schema/generate.sh
./tools/script/get_model.sh(可选,模型仅demo工程需要)
mkdir build && cd build && cmake .. && make -j4
若出现run ./tools/script/get_model.sh error,则可能是protobuf没有安装好
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:1011次2023-09-07 18:43:08
-
浏览量:458次2024-01-26 10:04:32
-
浏览量:6318次2021-07-08 15:47:11
-
浏览量:1051次2023-12-16 22:32:09
-
浏览量:2336次2022-06-01 09:09:51
-
浏览量:592次2024-01-03 09:56:52
-
浏览量:2153次2018-06-27 17:06:49
-
浏览量:3772次2017-11-21 13:44:59
-
浏览量:4214次2018-05-25 21:45:17
-
浏览量:4801次2017-10-30 11:12:34
-
浏览量:3277次2019-12-09 17:51:38
-
浏览量:1407次2024-01-12 15:38:50
-
浏览量:3161次2022-10-11 11:14:08
-
浏览量:2694次2019-09-02 19:00:27
-
浏览量:4237次2020-08-18 19:31:22
-
浏览量:2770次2024-04-30 22:13:25
-
浏览量:1066次2023-06-03 16:06:12
-
浏览量:9312次2020-08-18 20:20:36
-
浏览量:1340次2024-05-24 19:05:42
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
Debug
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注