Paddle-Lite——在树莓派4B端(Ubuntu18.04)源码编译并基于python API部署Paddle模型

经过无数次采坑后总结的精华经验,基本2小时内解决战斗。希望大家也能够一次编译成功!按照步骤来肯定没问题!

Linux端部署环境准备

这里我提供一下Paddle Lite2.6版本的python 3.6环境下的编译好的whl

1.编译环境准备

sudo apt update
sudo apt-get install -y 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是否安装成功:

cmake --version

在这里插入图片描述

2.安装python依赖项

sudo apt-get install python3-pip
pip3 install --upgrade pip

3.安装避坑项

如果没有安装patchelf的话会在编译到100%的时候报错,报错信息见下文,为了避坑,这里直接安装即可:

sudo apt-get install patchelf

4.编译Paddle-Lite的python Whl包

# 1. 下载Paddle-Lite源码 并切换到release分支,这里从gitee上下载,节约时间
git clone https://gitee.com/paddlepaddle/paddle-lite
cd paddle-lite && git checkout release/v2.6

# 删除此目录,编译脚本会自动从国内CDN下载第三方库文件
rm -rf third-party

编译

因为Ubuntu18.04自带的python是3.6.9,所以这里就是3.6即可。

./lite/tools/build_linux.sh --with_python=ON --python_version=3.6 --with_log=ON
报错及解决方法

在这里插入图片描述
如果按照我的操作来应该不会报着个错的,大家直接跳过即可。

sudo apt-get install patchelf

编译成功!

在这里插入图片描述

5.安装Paddle Lite预测库

cd /build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8/python/install/dist

pip3 install xxxxxx.whl

安装成功!

在这里插入图片描述

模型文件准备

大家务必选取Paddle Lite支持的模型,否则会在运行的时候因为算子op不支持而报错。

具体参考:Paddle Lite支持模型

(1)PaddleHub下载预训练模型

PaddleHub——快速白嫖海量预训练模型

(2)自己有模型

Paddle用于推理的模型是通过save_inference_model这个API保存下来的,保存的格式有两种,在这里将在AI studio上运行生成的模型参数文件下载,然后参考上文博客将模型进行opt转化成model.nb格式,并挂载在树莓派上:

两种模型格式

  • non-combined形式:参数保存到独立的文件,如设置 model_filenameNone , params_filenameNone
    在这里插入图片描述

  • combined形式:参数保存到同一个文件,如设置 model_filenamemodel , params_filenameparams

在这里插入图片描述

务必最后都转化为xxx.nb格式:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45779334/article/details/114553308