基於《10分鍾快速上手使用PaddleX2.0——PP-YOLOv2目標檢測》做了實驗,將訓練的模型轉換為可用於arm的格式,簡單記錄步驟如下。
注:百度飛槳入口(最新資料網址):飛槳PaddlePaddle-源於產業實踐的開源深度學習平台
一、在AIStudio中用PP-YOLOv2訓練
- 安裝paddlex2.0.0
- 准備數據集(zip解壓)
- 模型訓練(圖像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項目
- 替換模型和相應的label文件 用轉化后的model文件和label文件替換Android Demo中的對應位置。
- 修改predictor.java文件。一般需要修改代碼中的“模型名稱”和輸入的shape。
- 參考“Android Demo部署方法”,重新構建並運行Android demo。