本来准备用源码在本地编译Paddle-Lite,但无奈过程不太友好,多番折腾最终失败放弃,改为从docker编译。
一、安装docker
请参考链接:Docker】Ubuntu16.04安装docker。
二、获取源码
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
默认的分支是develop分支,为了在一个相对稳定的版本上工作,我将切换分支。
cd Paddle-Lite
git checkout release/v2.0.0-beta2
三、建立容器
首先获取docker镜像。
docker pull paddlepaddle/paddle-lite:2.0.0_beta
然后进入容器。
docker run -it \
--name paddlelite_docker \
-v /home/work/Paddle-Lite:/Paddle-Lite \
--net=host \
paddlepaddle/paddle-lite:2.0.0_beta /bin/bash
将容器命名为paddlelite_docker
,将我克隆的代码文件夹挂载到容器中的/Paddle-Lite
这个根目录下,并进入容器中。至此,完成Docker环境的准备。
四、编译Paddle-Lite
Paddle-Lite文件夹下的编译脚本./lite/tools/build.sh支持三种编译模式。
编译参数说明:
4.1 编译tiny publish
动态库
./lite/tools/build.sh \
--arm_os=android \
--arm_abi=armv8 \
--build_extra=ON \
--arm_lang=gcc \
--android_stl=c++_static \
--build_extra=ON \
tiny_publish
4.2 编译full publish
动态库
./lite/tools/build.sh \
--arm_os=android \
--arm_abi=armv8 \
--build_extra=ON \
--arm_lang=gcc \
--android_stl=c++_static \
--build_extra=ON \
full_publish
我最终编译的full_publish的版本。
扫描二维码关注公众号,回复:
9074946 查看本文章
编译中
编译完成
编译生成的文件都在这个文件夹下。
inference_lite_lib.android_armv8下面有这几个文件夹。
生成的动态库和静态库。