【超详细】树莓派4B 安装Paddle

您所在的位置:网站首页 树莓派找不到很多命令 【超详细】树莓派4B 安装Paddle

【超详细】树莓派4B 安装Paddle

2024-07-12 09:10| 来源: 网络整理| 查看: 265

目录 前言一、完成Linux 本地编译环境的准备1. 下载安装patchelf2. 下载安装cmake 二、源码编译1. 下载Paddle-Lite 源码2. 编译Paddle-Lite 预测库3. 安装Paddle-Lite4. 直接安装whl文件

前言

最近在学习PaddlePaddle,并且需要把训练好的模型部署在树莓派上。 Paddle-Lite简介:

Lite是一种轻量级、灵活性强、易于扩展的高性能的深度学习预测框架,它可以支持诸如ARM、OpenCL、NPU等等多种终端。

由于PaddlePaddle是不支持ARM架构CPU的,所以我们在树莓派上只可以安装Paddle-Lite。

同时我们可以从其官网了解到,树莓派安装Paddle-Lite只可以使用本地源码编译的方式。

P.S. 除了下载源码并编译之外,我们也可以直接下载编译好的whl包并安装即可。 paddlelite 2.8.0:paddlelite2.8版本whl文件 也有2.6.0版本的paddlelite.whl包提供下载: https://download.csdn.net/download/weixin_40973138/15929619 安装方式: 将whl文件下载至树莓派,然后执行pip install paddlelite-2.6.0-xxx.whl 即可(详见下文)。

我的整个安装过程所参考的文章:

本地编译ARM Linux(直接在RK3399或树莓派上编译)源码编译 (ARMLinux)树莓派4b学习笔记六:以源码编译的方式安装Paddlelite

接下来就开始吧!

一、完成Linux 本地编译环境的准备

这部分主要是安装一些基础的软件,用于完成Linux 本地编译环境的准备。

注意:本编译方法暂时只适用于ARM的设备

1. 下载安装patchelf

安装patchelf:

sudo apt install patchelf

然后更新一下目录:

sudo apt-get update

升级安装:

sudo apt-get install -y

-y的作用是对后续的操作都选择yes。

gcc g++ make wget python unzip patchelf python-dev 2. 下载安装cmake

下载cmake压缩包并解压:

wget https://cmake.org/files/v3.20/cmake-3.20.0-rc4.tar.gz tar -zxvf cmake-3.20.0-rc4.tar.gz

在这里插入图片描述

然后进行一些配置:

cd cmake-3.20.0-rc4 ./configure

在这里插入图片描述

此处若出现Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)这种错误。 可输入(安装OpenSSL的编译依赖):sudo apt-get install libssl-dev

开始编译:

make

至此,输出结果应该是这样的: 在这里插入图片描述 然后安装:

sudo make install

输出结果: 在这里插入图片描述

查看cmake版本以验证安装成功:

cmake --version

在这里插入图片描述

本地编译环境的准备完成。

二、源码编译 1. 下载Paddle-Lite 源码

首先下载Paddle-Lite源码:

在此,我选择从Gitee上面下载,因为我这GitHub实在干不动~~

git clone https://gitee.com/paddlepaddle/paddle-lite.git

如果你想从GitHub下载,只需要将上述链接替换成https://github.com/PaddlePaddle/Paddle-Lite.git

在这里插入图片描述

源码下载完成后将其中的third-party 目录删除,这将使得编译脚本自动从国内CDN下载第三方库文件:

cd paddle-lite git checkout release/v2.8

在这里插入图片描述

rm -rf third-party

注意:在此我选择将默认的4线程编译切换成单线程编译,因为我怀疑4线程编译的多次失败是树莓派的配置较低所导致。

export LITE_BUILD_THREADS=1 2. 编译Paddle-Lite 预测库 ./lite/tools/build_linux.sh --arch=armv7hf --with_python=ON

上述指令有多种参数配置,你可以按照你的实际需求进行配置:

--arch: (armv8|armv7|armv7hf) arm版本,默认为armv8 --toolchain: (gcc|clang) 编译器类型,默认为gcc --with_extra: (OFF|ON) 是否编译OCR/NLP模型相关kernel&OP,默认为OFF,只编译CV模型相关kernel&OP --with_python: (OFF|ON) 是否编译python预测库, 默认为 OFF --python_version: (2.7|3.5|3.7) 编译whl的Python版本,默认为 None --with_cv: (OFF|ON) 是否编译CV相关预处理库, 默认为 OFF --with_log: (OFF|ON) 是否输出日志信息, 默认为 ON --with_exception: (OFF|ON) 是否在错误发生时抛出异常,默认为 OFF

P.S. 一开始我除了--arch 和--with_python 外也有配置其他参数,但失败了很多次后,我就把参数精简到这两个,尽量排除因为其他参数而导致错误的可能。

编译成功: 在这里插入图片描述

3. 安装Paddle-Lite

首先贴上编译后的文件结构树状图:

inference_lite_lib.armlinux.armv8 ├── cxx C++ 预测库和头文件 │ ├── include C++ 头文件 │ │ ├── paddle_api.h │ │ ├── paddle_image_preprocess.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++ 静态库 │ └── libpaddle_light_api_shared.so C++ 动态库 ├── demo │ └── python Python 预测库demo │ └── python Python 预测库(需要打开with_python选项) ├── install │ └── dist │ └── paddlelite-*.whl Python whl包 └── lib └── lite.so Python 预测库

我们的目标文件是paddlelite-*.whl,对其进行安装: 在这里插入图片描述

最后验证一下paddlelite 是否可以import: 在这里插入图片描述

大功告成。

4. 直接安装whl文件

注意:下列仅展示安装2.6版本的paddlelite,文件夹里面有2.8版本的paddlelite,安装方法与下同。

若上述方式始终不能顺利安装,那就直接安装whl文件吧。

首先把whl文件下载至树莓派:

在这里插入图片描述

然后执行安装命令:pip install paddlelite-2.6.0-cp37-cp37m-linux_armv7l.whl

在这里插入图片描述 通过pip list可以查看paddlelite的安装版本:

在这里插入图片描述 安装成功!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3