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

文章目录

    • 在AI studio上训练Paddle Detection模型
    • 在AI studio上准备模型文件
        • 导出模型文件
        • 在Paddle-Detection项目中转换模型
    • 跑通Paddle-Lite demo
    • 部署自己的模型
        • 部署模型.nb文件
        • 运行模型

在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——将自己的模型部署在树莓派端_第1张图片
最后将模型文件下载到本地即可。

跑通Paddle-Lite demo

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

部署自己的模型

部署模型.nb文件

  1. 使用winscp将.nb模型文件放在/home/pi/Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo/models文件夹下;
    Paddle Lite——将自己的模型部署在树莓派端_第2张图片
  2. 修改/home/pi/Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo/labels文件夹下的pascalvoc_label_list文件的内容,将demo模型的label改为自己模型的label:
    Paddle Lite——将自己的模型部署在树莓派端_第3张图片
  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

Paddle Lite——将自己的模型部署在树莓派端_第4张图片

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

你可能感兴趣的:(Paddle Lite——将自己的模型部署在树莓派端)