既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
#进入文件夹并完成配置
cd cmake-3.20.5
./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
**二、PaddleLite源码编译**
1. 下载Paddle-Lite 源码
下载Paddle-Lite源码 并切换到release分支
git clone https://gitee.com/paddlepaddle/paddle-lite.git
或
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
尽量从GitHub下载,gitee里面的版本相对于Github更新有点滞后。网络不好时需要反复多试几次。当前PaddleLite发布版最新为2.9。
cd paddle-lite
git checkout release/v2.9
rm -rf third-party
源码下载完成后手动将Paddle-Lite目录其中的third-party 目录删除,这将使得编译脚本自动从国内CDN下载第三方库文件,否则因为里面一些指向古狗的库不能下载或者极慢。
多数文章建议将默认的4线程编译切换成单线程编译,我自己测试的4G版的树莓派4b的配置支持双线程编译测试没什么问题。
export LITE_BUILD_THREADS=2
编译Paddle-Lite 预测库
./lite/tools/build_linux.sh --arch=armv7hf --with_extra==ON --with_python=ON --python_version=3.7
上述指令有多种参数配置,你可以按照你的实际需求进行配置:
./lite/tools/build_linux.sh help
具体选项
–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.6|3.7等等) 编译whl的Python版本,默认为 None
–with\_cv: (OFF|ON) 是否编译CV相关预处理库, 默认为 OFF
–with\_log: (OFF|ON) 是否输出日志信息, 默认为 ON
–with\_exception: (OFF|ON) 是否在错误发生时抛出异常,默认为 OFF
安装Paddle-Lite
进入dist目录下
编译后的文件结构树状图如下,除了armv8实际为armv7hf以外其余相同:
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,对其进行安装
cd paddle-lite/build.lite.linux.armv7hf.gcc/inference_lite_lib.armlinux.armv7hf/python/install/dist
为编译出来的python API文件包的编码
pip install paddlelite-*.whl
最后验证一下paddlelite 是否可以import:
通过pip list可以查看paddlelite的安装版本:
PaddleLite安装完成后还需要安装OpenCV-Python
**三、安装OpenCV-Python**
sudo apt-get update
sudo apt-get upgrade
树莓派相关库安装:
sudo apt-get update
sudo apt-get install libjpeg-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libpng12-dev
sudo apt-get install libqtgui4 libqt4-test
sudo apt-get install libjasper-dev
OpenCV模块pip安装
sudo pip3 install opencv-python
最后确认Python中Import CV2安装正确
**四、基于PaddleLite 的Python API 部署**
Python 3.7作为默认Python,pip安装PaddleLite本地编译出来的安装包
我的包长这样:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210630221307674.PNG#pic_center)
代码可以直接参考这篇博文的内容。我在Win10 PC和4GB版的树莓派上都能成功跑通。
[Paddle-Lite——基于python API部署PaddlePaddle的自定义模型并实现视频流和单张图片的预测](https://bbs.csdn.net/topics/618679757)
PS1:值得注意的是,在PC上转化的.nb模型文件在树莓派上一开始不能打开,后来能打开了又提示Kernel问题。于是直接把PaddleX训练后Export出来的推理模型传到树莓派上用已安装的Paddlelite来完成转化。这样转化的模型在树莓派上使用就没问题了。
PS2:训练完毕Export 模型之前可以在PaddleX GUI内选择量化,量化后的模型精度损失很小但是速度能提高30%。输入608x608,没量化的MobileNetV1转化成PaddleLite模型后在树莓派上要1.5s才能识别一张图,量化后的模型再转化,跑起来基本只要1s。
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/e5f297514e5307579d5d5fd599a95e6e.png)
![img](https://img-blog.csdnimg.cn/img_convert/b3c8b540a76e62fe5bed447afec19847.png)
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
HRrIjYT-1715644275987)]
[外链图片转存中...(img-REoNukbA-1715644275988)]
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**