源码编译环境准备
您也可以根据目标平台选择对应的源码编译方法,Paddle Lite提供了源码编译脚本,位于文件夹下,只需要“准备环境”和“调用编译脚本”两个步骤即可一键编译得到目标平台的Paddle Lite预测库。
目前支持四种编译开发环境:
源码编译方法支持如下平台:
是一个开源的应用容器引擎, 使用沙箱机制创建独立容器,方便运行不同程序。Lite的Docker镜像基于Ubuntu 16.04,镜像中包含了开发Andriod/Linux等平台要求的软件依赖与工具。
(1) 准备Docker镜像:有两种方式准备Docker镜像,推荐从Dockerhub直接拉取Docker镜像
(2) 启动Docker容器:在拉取Paddle-Lite仓库代码的上层目录,执行如下代码,进入Docker容器:
docker run -it \
--name paddlelite_docker \
-v $PWD/Paddle-Lite:/Paddle-Lite \
--net=host \
paddlepaddle/paddle-lite /bin/bash
该命令的含义:将容器命名为paddlelite_docker
即<container-name>
,将当前目录下的Paddle-Lite
文件夹挂载到容器中的/Paddle-Lite
这个根目录下,并进入容器中。
Docker初学者可以参考Docker使用方法正确安装Docker。Docker常用命令参考如下:
交叉编译环境要求:
gcc、g++、git、make、wget、python、adb
cmake(建议使用3.10或以上版本)
Android NDK (支持ndk-r17c及之后的所有ndk版本, 注意从ndk-r18开始,ndk交叉编译工具只支持clang, 不支持gcc)
安装软件部分以 Ubuntu 为例,其他 Linux 发行版类似。
# 1. Install basic software
apt update
apt-get install -y --no-install-recommends \
gcc g++ git make wget python unzip adb curl
# 2. Prepare Java env.
apt-get install -y default-jdk
wget -c https://mms-res.cdn.bcebos.com/cmake-3.10.3-Linux-x86_64.tar.gz && \
tar xzf cmake-3.10.3-Linux-x86_64.tar.gz && \
mv cmake-3.10.3-Linux-x86_64 /opt/cmake-3.10 && \
ln -s /opt/cmake-3.10/bin/cmake /usr/bin/cmake && \
ln -s /opt/cmake-3.10/bin/ccmake /usr/bin/ccmake
# 4. Download Android NDK for linux-x86_64
# Note: Skip this step if NDK installed
# support android-ndk-r17c-linux-x86_64 and other later version such as ndk-r18b or ndk-r20b
# ref: https://developer.android.com/ndk/downloads
cd /tmp && curl -O https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip
cd /opt && unzip /tmp/android-ndk-r17c-linux-x86_64.zip
# 5. Add environment ${NDK_ROOT} to `~/.bashrc`
echo "export NDK_ROOT=/opt/android-ndk-r17c" >> ~/.bashrc
source ~/.bashrc
# Take android-ndk-r20b-linux-x86_64 as example:
cd /opt && unzip /tmp/android-ndk-r20b-linux-x86_64.zip
echo "export NDK_ROOT=/opt/android-ndk-r20b" >> ~/.bashrc
source ~/.bashrc
准备ARM Linux编译环境
适用于基于 ARMv8 和 ARMv7 架构 CPU 的各种开发板,例如 RK3399,树莓派等,目前支持交叉编译和本地编译两种方式,对于交叉编译方式,在完成目标程序编译后,可通过 scp 方式将程序拷贝到开发板运行。
交叉编译ARM Linux
编译环境要求
gcc、g++、git、make、wget、python、scp
cmake(建议使用3.10或以上版本)
安装软件部分以 Ubuntu 为例,其他 Linux 发行版类似。
本地编译ARM Linux(直接在RK3399或树莓派上编译)
编译环境要求
gcc、g++、git、make、wget、python、pip、python-dev、patchelf
安装软件部分以 Ubuntu 为例,其他 Linux 发行版本类似。
# 1. Install basic software
apt update
apt-get install -y --no-install-recomends \
gcc g++ make wget python unzip patchelf python-dev
# 2. install cmake 3.10 or above
wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz
tar -zxvf cmake-3.10.3.tar.gz
cd cmake-3.10.3
./configure
make
sudo make install
之后可通过cmake –version查看cmake是否安装成功。
至此,完成 Linux 交叉编译环境的准备。
交叉编译环境要求
gcc、git、make、curl、unzip、java
cmake(Android编译请使用3.10版本,IOS编译请使用3.15版本)
编译Android: Android NDK (支持ndk-r17c及之后的所有ndk版本)
编译IOS: XCode(Version 10.1)
注意: Mac上编译Paddle-Lite的full_publish版本时,Paddle-Lite所在路径中不可以含有中文字符。
编译环境需求,目前Windows仅支持X86平台预测库编译。
Windows 10 专业版
Python 版本 2.7/3.5.1+ (64 bit)
pip 或 pip3 版本 9.0.1+ (64 bit)
Visual Studio 2015 Update3
环境准备步骤为:
cmake 需要3.15版本, 可在官网,并添加到环境变量中。
python 需要2.7 及以上版本, 可在官网下载。
git可以在官网,并添加到环境变量中