Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

English | 简体中文

PP-LiteSeg Quantitative Model C++ Deployment Example

infer.cc in this directory can help you quickly complete the inference acceleration of PP-LiteSeg quantization model deployment on RV1126.

Deployment Preparations

FastDeploy Cross-compile Environment Preparations

  1. For the software and hardware environment, and the cross-compile environment, please refer to Preparations for FastDeploy Cross-compile environment.

Model Preparations

  1. You can directly use the quantized model provided by FastDeploy for deployment.
  2. You can use one-click automatical compression tool provided by FastDeploy to quantize model by yourself, and use the generated quantized model for deployment.(Note: The quantized classification model still needs the deploy.yaml file in the FP32 model folder. Self-quantized model folder does not contain this yaml file, you can copy it from the FP32 model folder to the quantized model folder.)
  3. The model requires heterogeneous computation. Please refer to: Heterogeneous Computation. Since the model is already provided, you can test the heterogeneous file we provide first to verify whether the accuracy meets the requirements.

For more information, please refer to Model Quantization.

Deploying the Quantized PP-LiteSeg Segmentation model on RV1126

Please follow these steps to complete the deployment of the PP-LiteSeg quantization model on RV1126.

  1. Cross-compile the FastDeploy library as described in Cross-compile FastDeploy.

  2. Copy the compiled library to the current directory. You can run this line:

cp -r FastDeploy/build/fastdeploy-timvx/ FastDeploy/examples/vision/segmentation/paddleseg/rv1126/cpp
  1. Download the model and example images required for deployment in current path.
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. Compile the deployment example. You can run the following lines:
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
# After success, an install folder will be created with a running demo and libraries required for deployment.
  1. Deploy the PP-LiteSeg segmentation model to Rockchip RV1126 based on adb. You can run the following lines:
# Go to the install directory.
cd FastDeploy/examples/vision/segmentation/paddleseg/rv1126/cpp/build/install/
# The following line represents: bash run_with_adb.sh, demo needed to run, model path, image path, DEVICE ID.
bash run_with_adb.sh infer_demo ppliteseg cityscapes_demo.png $DEVICE_ID

The output is:

Please note that the model deployed on RV1126 needs to be quantized. You can refer to Model Quantization.