目录

  • 前言
  • 一、完成Linux 本地编译环境的准备
    • 1. 下载安装patchelf
    • 2. 下载安装cmake
  • 二、源码编译
    • 1. 下载Paddle-Lite 源码
    • 2. 编译Paddle-Lite 预测库
    • 3. 安装Paddle-Lite
    • 4. 直接安装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 即可(详见下文)。

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

  1. 本地编译ARM Linux(直接在RK3399或树莓派上编译)
  2. 源码编译 (ARMLinux)
  3. 树莓派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的安装版本:


安装成功!

【超详细】树莓派4B 安装Paddle-Lite 2.8.0相关推荐

  1. 超详细树莓派4B安装Ubuntu Server无屏幕

    准备工作 树莓派4B一台 内存卡格式化软件,用于将内存卡格式化.我也不知道为什么不用系统自带的[右键>格式化]去格式化内存卡,知道的大神希望解释一下.常用的格式化软件SDFormatter.(点 ...

  2. 树莓派4B安装系统,配置远程连接和WiFi,更新源,更新中文支持,基本Linux命令,用Python输出hello和“你好,世界”

    树莓派4B 系列1 从入门到进阶 作者(当然就是我本人了,哈哈哈哈哈),写这篇文章的目的是给刚入门树莓派或者从3B/3B+版本过度到4B的小朋友们总结出一些成系统的规律和方法,以及4B全新版本的变化. ...

  3. 树莓派安装python3.5+tensorflow_树莓派4B安装Tensorflow的方法步骤

    1.写作背景 Tensorflow官方在2018年宣布,正式发布支持树莓派版本的Tensorflow,编者开始直接用: pip install tensorflow 进行安装,在安装成功后使用impo ...

  4. 树莓派4B安装OPENCV遇到ffmpeg库版本太高的问题

    较新的安装教程:树莓派4B安装OpenCV教程_luoi_han的博客-CSDN博客_树莓派4b安装opencv 这几天安装opencv,其他的问题好说,但是遇到了这个问题: /home/pi/Dow ...

  5. 树莓派4B安装ffmpeg的方法

    具体的参照这个链接: 树莓派4B安装ffmpeg - michaelchengjl - 博客园 简单而言: 1 安装x264 为了方便在QT中使用,需要将库生成动态链接库, x264安装需要生成动态库 ...

  6. MacOS下无屏幕通过共享WiFi的方式为树莓派4B安装64-bit系统

    目录 教程参考说明 工具 步骤 下载系统 烧录系统 连接网络 启用桌面VNC 教程参考说明: 本教程为使用Mac笔记本,在MacOS系统下,在无屏幕下条件下,安装 RasPberry Pi OS 64 ...

  7. 树莓派4B安装Openwrt软路由并用作家庭网络网关设备

    树莓派4B安装Openwrt软路由并用作家庭网络网关设备 缘由 家里需要联网设备太多,光猫性能不够,家里小米AX3600不想来刷机,然后就想到了被尘封的树莓派4B,经过一段时间的研究与折腾,最终完成了 ...

  8. 【多图超详细】从零开始安装配置Cuckoo sandbox并提交样本进行分析

    [多图超详细]从零开始安装配置Cuckoo sandbox并提交样本进行分析 文章目录 [多图超详细]从零开始安装配置Cuckoo sandbox并提交样本进行分析 1. 功能介绍 1.1主要功能 1 ...

  9. 树莓派4b安装Android10

    [更新]树莓派4b安装Android10 下载 由于镜像过大,我把Android10的压缩包上传上去 https://cloud.189.cn/t/FjqAJjjiMni2 而烧录工具我在上一篇博客中 ...

  10. 树莓派4B安装OpenCV教程

    树莓派4B安装OpenCV 树莓派安装与远程登陆 Python版本切换 下载.编译和安装OpenCV 1. 更换源 2. 存储空间的操作 3. OpenCV相关库的下载 4. 下载OpenCV包及其编 ...

最新文章

  1. 突然Windows系统声音没有,怎么修复?
  2. 实时数据库领域中有关数据压缩的认识误区
  3. SQL游标原理和使用方法
  4. java监听变量的变化_[Java学习小记]使用PropertyChangeSupport来监听变量的变化
  5. 解决不了“不可能三角”,火山抖音化只是个昏招
  6. python mysql股票分析_一颗韭菜的自我修养:用Python分析下股市,练练手
  7. c语言如何让数组的两个数据调换位置_浅论数据结构
  8. 并发环境下,先操作数据库还是先操作缓存?
  9. 如何查询高考2021普体成绩,中考体育成绩对照表2020
  10. JDBC 防御性编程
  11. JavaScript高级之ES5 中的新增方法
  12. ASP.NET MVC从数据库读取、存入图片
  13. c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
  14. 2场直播丨CloudQuery最佳实践,
  15. 新修订未成年人保护法6月1日正式实施
  16. iOS - UIView属性hidden, opaque, alpha, opacity的区别
  17. react 动态获取数据
  18. 文电通:助力企业入局“无纸化办公”!
  19. centos 打包某个目录_CentOS 打包压缩文件 zip 命令详解
  20. 有没有测试牙齿需不需要修正的软件,测一测,你的牙齿需要矫正吗?

热门文章

  1. 如何选择适合你的兴趣爱好(二十一),旅游
  2. 【语音识别】拨号语音识别含Matlab源码
  3. transmac装黑苹果_黑苹果安装LionGM版!!完全摆脱MacDriver、TransMac等工具
  4. 从命令行输入一个字符串!要求从中随机选择6个字符组成验证码!
  5. 诺基亚EnodeB关于空口参考信号功率 计算和验证方法
  6. OpenGL 图形变换练习(平移,缩小)——画小汽车
  7. mysql安装失败后怎么彻底删除_MySQL安装失败后如何完全卸载移除MySQL - 收获啦
  8. [Homework#1]回味·神笔马良
  9. 韩语在线翻译图片识别_图片怎么转表格excel
  10. G盘无法访问使用驱动器中的光盘之前需要将其格式化数据找回的方案