当前位置: 首页 > 工具软件 > Paddle Lite > 使用案例 >

Ubuntu 22.4编译PaddleLite V2.11(X86、ARM)

贲招
2023-12-01

一、安装开发环境

1、更新系统软件包目录

sudo apt update && sudo apt dist-upgrade -y

另外扩展:(看个人需求,自动删除无效依赖包)

sudo apt autoremove -y 

2、下载安装依赖库

sudo apt install -y gcc g++ git make cmake wget python3 python3-dev python3-pip unzip curl

二、源码编译

1. 下载Paddle-Lite 源码

        首先下载官方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

2. pip3直接安装whl文件

        找到python whl包目录,然后直接运行安装命令:

#把*改成编译生成的whl名称
pip3 install *.whl
 类似资料: