Paddle Lite——将自己的模型部署在树莓派端

在AI studio上训练Paddle Detection模型

此处以PaddleDetcion——红绿灯检测项目为例。

在AI studio上准备模型文件

导出模型文件

训练后导出paddle原生模型文件:

#导出模型
!python -u tools/export_model.py -c configs/ssd/ssd_mobilenet_v1_voc.yml
在Paddle-Detection项目中转换模型

在模型训练并导出完成后,使用opt模型转换工具实现模型的转换:

#下载opt文件
!wget https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/opt
#复制opt文件到相应目录下
!cp opt /home/aistudio/work/PaddleDetection/output/car/best_model
#进入预测模型文件夹
%cd /home/aistudio/work/PaddleDetection/output/car/best_model
#给opt加上可执行权限
!chmod +x opt
#使用opt进行模型转化,将__model__和__params__转化为model.nb
!./opt --model_file=__model__ --param_file=__params__ --optimize_out_type=naive_buffer   --optimize_out=./model
#查看文件夹内容,检查模型是否转换成功
!ls

在这里插入图片描述
最后将模型文件下载到本地即可。

跑通Paddle-Lite demo

Paddle Lite——树莓派端部署图像分类和目标检测demo

部署自己的模型

部署模型.nb文件
  1. 使用winscp.nb模型文件放在/home/pi/Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo/models文件夹下;
    在这里插入图片描述
  2. 修改/home/pi/Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo/labels文件夹下的pascalvoc_label_list文件的内容,将demo模型的label改为自己模型的label:
    在这里插入图片描述
  3. 修改run.sh文件的内容:
    此处需要注意,根据自己模型的类型选择进入的文件夹类型,是图像分类image_classification_demo还是目标检测object_detection_demo,此处将以目标检测为例
cd Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo
sudo nano run.sh

将run.sh中的#run修改参数,即该文件的最后一行参数,修改模型文件参数../models/ssd_mobilenet_v1_pascalvoc_for_cpu/model.nb../models/model.nb,即可完成对run.sh的配置。

#!/bin/bash

# configure
#TARGET_ARCH_ABI=armv8 # for RK3399, set to default arch abi
TARGET_ARCH_ABI=armv7hf # for Raspberry Pi 3B
PADDLE_LITE_DIR=../Paddle-Lite
if [ "x$1" != "x" ]; then
    TARGET_ARCH_ABI=$1
fi

# build
rm -rf build
mkdir build
cd build
cmake -DPADDLE_LITE_DIR=${PADDLE_LITE_DIR} -DTARGET_ARCH_ABI=${TARGET_ARCH_ABI} ..
make

#注意,这里为run代码段!!!!!!
#run
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/ssd_mobilenet_v1_pascalvoc_for_cpu/model.nb ../labels/pascalvoc_label_list ../images/2001.jpg ./result.jpg
运行模型
./run.sh

在这里插入图片描述

修改C++部署代码

直接修改object_detection_demo.cc即可。

修改完后重新编译运行:

sudo ./run.sh

在这里插入图片描述

如果小伙伴跟着博主成功部署了自己的模型,那就大大给个赞吧~@-@

  • 23
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 38
    评论
你好!要在树莓4B上编译PaddleLite 2.8,你需要按照以下步骤进行操作: 1. 准备工作: - 确保你的树莓已经安装了Raspberry Pi OS(先前称为Raspbian)。 - 确保你的树莓已经连接到互联网。 2. 安装依赖: - 打开终,并执行以下命令来更新系统软件包列表: ``` sudo apt update ``` - 安装所需的依赖库: ``` sudo apt install -y build-essential cmake git vim wget unzip sudo apt install -y libopencv-dev libopenblas-dev libprotobuf-dev protobuf-compiler sudo apt install -y libgoogle-glog-dev libgtest-dev libgtest-dev sudo apt install -y libatlas-base-dev libhdf5-serial-dev sudo apt install -y libyaml-cpp-dev ``` - 安装交叉编译工具链(ARMv8): ``` wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.4.0/tensorflow-2.4.0-cp37-none-linux_aarch64.whl sudo apt install -y python3-pip pip3 install tensorflow-2.4.0-cp37-none-linux_aarch64.whl ``` 3. 克隆PaddleLite仓库并编译: - 在终中执行以下命令来克隆PaddleLite仓库: ``` git clone https://github.com/PaddlePaddle/Paddle-Lite.git ``` - 进入Paddle-Lite目录,并创建build目录: ``` cd Paddle-Lite mkdir build cd build ``` - 执行CMake配置命令: ``` cmake -DPADDLE_LITE_ARM=ON -DARM_TARGET_ARCH_ABI=armv8 -DWITH_STATIC_LIB=ON .. ``` - 执行编译命令: ``` make -j4 ``` 4. 安装PaddleLite库: - 执行以下命令来安装PaddleLite库到系统目录: ``` sudo make install ``` 完成上述步骤后,你应该已经成功在树莓4B上编译并安装了PaddleLite 2.8。你可以根据需要在自己的项目中使用PaddleLite进行推理。希望对你有所帮助!如果你还有其他问题,请随时提问。
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值