Files
FastDeploy/examples/vision/segmentation/paddleseg/a311d/cpp
yeliang2258 1e9872db94 [Other] Add FlyCV support for A311D (#928)
* add FlyCV support

* update doc

* update cmake

* re-ci

* fix bug

* fix cmake

* fix doc

* update doc

* fix doc
2022-12-21 20:00:43 +08:00
..
2022-12-13 11:53:36 +08:00

PP-LiteSeg 量化模型 C++ 部署示例

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

部署准备

FastDeploy 交叉编译环境准备

模型准备

    1. 用户可以直接使用由 FastDeploy 提供的量化模型进行部署。
    1. 用户可以使用 FastDeploy 提供的一键模型自动化压缩工具,自行进行模型量化, 并使用产出的量化模型进行部署.(注意: 推理量化后的分类模型仍然需要FP32模型文件夹下的 deploy.yaml 文件, 自行量化的模型文件夹内不包含此 yaml 文件, 用户从FP32模型文件夹下复制此yaml文件到量化后的模型文件夹内即可.)
  • 更多量化相关相关信息可查阅模型量化

在 A311D 上部署量化后的 PP-LiteSeg 分割模型

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

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

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

cp -r FastDeploy/build/fastdeploy-timvx/ FastDeploy/examples/vision/segmentation/paddleseg/a311d/cpp
  1. 在当前路径下载部署所需的模型和示例图片:
cd FastDeploy/examples/vision/segmentation/paddleseg/a311d/cpp
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. 编译部署示例,可使入如下命令:
cd FastDeploy/examples/vision/segmentation/paddleseg/a311d/cpp
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=${PWD}/../fastdeploy-timvx/toolchain.cmake -DFASTDEPLOY_INSTALL_DIR=${PWD}/../fastdeploy-timvx -DTARGET_ABI=arm64 ..
make -j8
make install
# 成功编译之后,会生成 install 文件夹,里面有一个运行 demo 和部署所需的库
  1. 基于 adb 工具部署 PP-LiteSeg 分割模型到晶晨 A311D可使用如下命令
# 进入 install 目录
cd FastDeploy/examples/vision/segmentation/paddleseg/a311d/cpp/build/install/
# 如下命令表示bash run_with_adb.sh 需要运行的demo 模型路径 图片路径 设备的DEVICE_ID
bash run_with_adb.sh infer_demo ppliteseg cityscapes_demo.png $DEVICE_ID

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

需要特别注意的是,在 A311D 上部署的模型需要是量化后的模型,模型的量化请参考:模型量化