文章目录

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

在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——将自己的模型部署在树莓派端_linux


最后将模型文件下载到本地即可。

跑通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

Paddle Lite——将自己的模型部署在树莓派端_图像分类_02

修改C++部署代码

直接修改​​object_detection_demo.cc​​即可。

修改完后重新编译运行:

sudo ./run.sh

Paddle Lite——将自己的模型部署在树莓派端_图像分类_03

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