sudo apt update && sudo apt dist-upgrade -y
另外扩展:(看个人需求,自动删除无效依赖包)
sudo apt autoremove -y
sudo apt install -y gcc g++ git make cmake wget python3 python3-dev python3-pip unzip curl
首先下载官方GitHub上的Paddle-Lite源码:
#GitHub加速
git config --global url."https://ghproxy.com/".insteadOf https://
# 下载 Paddle Lite 源码并切换到发布分支,如 develop
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd Paddle-Lite && git checkout develop
# (可选) 删除 third-party 目录,编译脚本会自动从国内 CDN 下载第三方库文件
rm -rf third-party
#编译脚本
./lite/tools/build_linux.sh --arch=x86 --with_python=ON
Paddle Lite 仓库中./lite/tools/build_linux.sh
脚本文件用于构建linux版本的编译包,通过修改build_linux.sh
脚本文件中的参数,可满足不同场景编译包的构建需求,常用的基础编译参数如下表所示: 有特殊硬件需求的编译参数见下表。
参数 | 说明 | 可选值 | 默认值 |
---|---|---|---|
arch | 目标硬件的架构版本 | armv8 / armv7hf / armv7 / x86 | armv8 |
toolchain | C++语言的编译器工具链 | gcc / clang | gcc |
with_python | 是否包含 python 编译包,目标应用程序是 python 语言时需配置为 ON | OFF / ON | OFF |
with_cv | 是否将 cv 函数加入编译包中 | OFF / ON | OFF |
with_log | 是否在执行过程打印日志 | OFF / ON | ON |
with_exception | 是否开启 C++ 异常 | OFF / ON | OFF |
with_extra | 是否编译完整算子(见支持算子一节) | OFF / ON | OFF |
with_profile | 是否打开执行耗时分析 | OFF / ON | OFF |
with_precision_profile | 是否打开逐层精度结果分析 | OFF / ON | OFF |
with_static_mkl | 是否编译静态链接的 MKL 库,否则为动态链接(目标 os 架构为 x86 时可以选择是否开启) | OFF / ON | OFF |
with_avx | 是否使用 AVX/SSE 指令对 X86 Kernel 进行加速(目标 os 架构为 x86 时可以选择是否开启) | OFF / ON | ON |
with_opencl | 是否编译支持 OpenCL 的预测库 | OFF / ON | OFF |
成功后会在 Paddle-Lite/build.lite.linux.x86.gcc/inference_lite_lib/
生成 Paddle Lite 编译包,文件目录如下:
inference_lite_lib/
├── bin
│ └── test_model_bin 可执行工具文件
├── cxx C++ 预测库和头文件
│ ├── include C++ 头文件
│ │ ├── paddle_api.h
│ │ ├── paddle_lite_factory_helper.h
│ │ ├── paddle_place.h
│ │ ├── paddle_use_kernels.h
│ │ ├── paddle_use_ops.h
│ │ └── paddle_use_passes.h
│ └── lib C++ 预测库
│ ├── libpaddle_api_light_bundled.a C++ light_api 静态库
│ ├── libpaddle_api_full_bundled.a C++ full_api 静态库
│ ├── libpaddle_light_api_shared.so C++ light_api 动态库
│ └── libpaddle_full_api_shared.so C++ full_api 动态库
│
├── demo C++
│ └── cxx C++ 预测库 demo
│ └── python Python 预测库demo
│
├── python Python 预测库(需要打开with_python选项)
│ ├── install
│ │ └── dist
│ │ └── paddlelite-*.whl Python whl包
│ └── lib
│ └── lite.so Python 预测库
│
└── third_party
└── mklml 依赖的第三方加速库 Intel(R) MKL
├── include
└── lib
├── libiomp5.so
├── libmklml_gnu.so
└── libmklml_intel.so
找到python whl包目录,然后直接运行安装命令:
#把*改成编译生成的whl名称
pip3 install *.whl