用paddlex转换模型.nb格式

基于《10分钟快速上手使用PaddleX2.0——PP-YOLOv2目标检测》做了实验,将训练的模型转换为可用于arm的格式,简单记录步骤如下。

注:百度飞桨入口(最新资料网址):飞桨PaddlePaddle-源于产业实践的开源深度学习平台

一、在AIStudio中用PP-YOLOv2训练

  1. 安装paddlex2.0.0
  2. 准备数据集(zip解压)
  3. 模型训练(图像transforms、pdx.datasets.VOCDetection处理VOC数据集、训练100轮),model = pdx.det.PPYOLOv2(num_classes=num_classes, backbone='ResNet50_vd_dcn')
生成的模型所在路径:output/ppyolov2_r50vd_dcn/best_model

二、转换模型格式

1、在终端安装paddlelite

pip install paddlelite

2、进入output文件夹

%cd ~/output/
3、导出为静态图模型
!paddlex --export_inference --model_dir=./ppyolov2_r50vd_dcn/best_model --save_dir=./inference_model

4、导出为arm可用的.nb模型

!paddle_lite_opt --model_dir=./inference_model/inference_model  --optimize_out=ppyolov2_r50vd_dcn_opt --optimize_out_type=naive_buffer --valid_targets=arm

三、应用模型(Android为例)

1、下载demo

在github上下载相应平台的piddlelite demo项目。

2、修改demo项目

  1. 替换模型和相应的label文件 用转化后的model文件和label文件替换Android Demo中的对应位置。
  2. 修改predictor.java文件。一般需要修改代码中的“模型名称”和输入的shape。
  3. 参考“Android Demo部署方法”,重新构建并运行Android demo。
posted @ 2022-01-27 16:26  炎林  阅读(1615)  评论(0编辑  收藏  举报