使用rknn-toolkit2将paddleseg模型导出rknn模型

目录

安装paddle2onnx环境

将paddle模型导出onnx模型

安装rknn-toolkits

转化rknn模型


安装paddle2onnx环境

  • 首先创建一个python虚拟环境
conda create -n paddle2onnx python==3.10
source activate paddle2onnx
  • 下载并安装 https://github.com/PaddlePaddle/Paddle2ONNX
cd Paddle2ONNX
pip install .

将paddle模型导出onnx模型

  • 下载一个官方提供的模型,并解压
cd paddle2onnx/tools/paddle
wget https://bj.bcebos.com/paddlehub/fastdeploy/Portrait_PP_HumanSegV2_Lite_256x144_infer.tgz
tar -xvf Portrait_PP_HumanSegV2_Lite_256x144_infer.tgz
  • 执行infer_shape
python paddle_infer_shape.py --model_dir portrait_pp_humansegv2_lite_256x144_inference_model \
                             --model_filename model.pdmodel \
                             --params_filename model.pdiparams \
                             --save_dir portrait_pp_humansegv2_lite_256x144_inference_model \
                             --input_shape_dict="{'x':[1,3,144,255]}"
  • 导出onnx模型
paddle2onnx --model_dir portrait_pp_humansegv2_lite_256x144_inference_model \
            --model_filename model.pdmodel \
            --params_filename model.pdiparams \
            --save_file portrait_pp_humansegv2_lite_256x144_inference_model/portrait_pp_humansegv2_lite_256x144_inference_model.onnx \
            --enable_dev_version True

安装rknn-toolkits

  • 下载 https://github.com/rockchip-linux/rknn-toolkit2
cd rknn-toolkit2/packages
pip install rknn_toolkit2-1.5.2+b642f30c-cp310-cp310-linux_x86_64.whl

转化rknn模型

  • 我们直接使用FastDeploy中的python脚本,地址在tools/rknpu2/export.py
  • 编写一个yaml配置文件myseg.yaml,文件中的onnx模型是刚才转换得到的,修改成自己的目录,dataset.txt 在FastDeploy中有,拷贝到模型目录中,指定输出目录,配置完成后执行
mean:
  -
    - 127.5
    - 127.5
    - 127.5
std:
  -
    - 127.5
    - 127.5
    - 127.5
model_path: ./Portrait_PP_HumanSegV2_Lite_256x144_infer/Portrait_PP_HumanSegV2_Lite_256x144_infer.onnx
outputs_nodes:
do_quantization: True
dataset: "./Portrait_PP_HumanSegV2_Lite_256x144_infer/dataset.txt"
output_folder: "./Portrait_PP_HumanSegV2_Lite_256x144_infer"
  • 执行转换脚本
python tools/rknpu2/export.py \
        --config_path myseg.yaml \
        --target_platform rk3588

你可能感兴趣的:(深度学习,rknn,paddleseg,onnx)