目录
安装paddle2onnx环境
- 首先创建一个python虚拟环境
conda create -n paddle2onnx python==3.10
source activate 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
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