目录
安装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