Files
DefTruth 5b143219ce [Docs] Pick seg fastdeploy docs from PaddleSeg (#1482)
* [Docs] Pick seg fastdeploy docs from PaddleSeg

* [Docs] update seg docs

* [Docs] Add c&csharp examples for seg

* [Docs] Add c&csharp examples for seg

* [Doc] Update paddleseg README.md

* Update README.md
2023-03-17 11:22:46 +08:00
..

English | 简体中文

PaddleSeg 量化模型 RV1126 C++ 部署示例

本目录下提供的 infer.cc,可以帮助用户快速完成 PP-LiteSeg 量化模型在 RV1126 上的部署推理加速。

1. 部署环境准备

1.1 FastDeploy 交叉编译环境准备

软硬件环境满足要求,以及交叉编译环境的准备,请参考:瑞芯微RV1126部署环境

2. 部署模型准备

  1. 用户可以直接使用由FastDeploy 提供的量化模型进行部署。
  2. 若FastDeploy没有提供满足要求的量化模型用户可以参考PaddleSeg动态图模型导出为RV1126支持的INT8模型自行导出或训练量化模型
  3. 若上述导出或训练的模型出现精度下降或者报错则需要使用异构计算使得模型算子部分跑在RV1126的ARM CPU上进行调试以及精度验证其中异构计算所需的文件是subgraph.txt。具体关于异构计算可参考异构计算

3. 运行部署示例

请按照以下步骤完成在 RV1126 上部署 PP-LiteSeg 量化模型:

  1. 交叉编译编译 FastDeploy 库,具体请参考:交叉编译 FastDeploy

  2. 将编译后的库拷贝到当前目录,可使用如下命令:

# 下载部署示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cp -r FastDeploy/build/fastdeploy-timvx/ FastDeploy/examples/vision/segmentation/semantic_segmentation/rockchip/rv1126/cpp
# 如果您希望从PaddleSeg下载示例代码请运行
# git clone https://github.com/PaddlePaddle/PaddleSeg.git
# # 注意如果当前分支找不到下面的fastdeploy测试代码请切换到develop分支
# # git checkout develop
# cp -r FastDeploy/build/fastdeploy-timvx/ PaddleSeg/deploy/fastdeploy/semantic_segmentation/rockchip/rv1126/cpp
  1. 在当前路径下载部署所需的模型和示例图片:
mkdir models && mkdir images
wget https://bj.bcebos.com/fastdeploy/models/rk1/ppliteseg.tar.gz
tar -xvf ppliteseg.tar.gz
cp -r ppliteseg models
wget https://paddleseg.bj.bcebos.com/dygraph/demo/cityscapes_demo.png
cp -r cityscapes_demo.png images
  1. 编译部署示例,可使入如下命令:
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=${PWD}/../fastdeploy-timvx/toolchain.cmake -DFASTDEPLOY_INSTALL_DIR=${PWD}/../fastdeploy-timvx -DTARGET_ABI=armhf ..
make -j8
make install
# 成功编译之后,会生成 install 文件夹,里面有一个运行 demo 和部署所需的库
  1. 基于 adb 工具部署 PP-LiteSeg 分割模型到 Rockchip RV1126可使用如下命令
# 进入 install 目录
cd path/to/paddleseg/rockchip/rv1126/cpp/build/install/
cp ../../run_with_adb.sh .
# 如下命令表示bash run_with_adb.sh 需要运行的demo 模型路径 图片路径 设备的DEVICE_ID
bash run_with_adb.sh infer_demo ppliteseg cityscapes_demo.png $DEVICE_ID

部署成功后运行结果如下:

4. 更多指南