一、主机模型转换
采用FastDeploy来部署应用深度学习模型到OK3588板卡上
进入主机Ubuntu的虚拟环境
conda activate ok3588
主机环境搭建可以参考上一篇 《OK3588板卡实现人像抠图(十二)》
生成onnx文件
cd FastDeploy
# 下载Paddle静态图模型并解压
wget https://bj.bcebos.com/paddlehub/fastdeploy/PP_TinyPose_256x192_infer.tgz
tar -xvf PP_TinyPose_256x192_infer.tgz# 静态图转ONNX模型,注意,这里的save_file请和压缩包名对齐
paddle2onnx --model_dir PP_TinyPose_256x192_infer \--model_filename model.pdmodel \--params_filename model.pdiparams \--save_file PP_TinyPose_256x192_infer/PP_TinyPose_256x192_infer.onnx \--enable_dev_version True# 固定shape
python -m paddle2onnx.optimize --input_model PP_TinyPose_256x192_infer/PP_TinyPose_256x192_infer.onnx \--output_model PP_TinyPose_256x192_infer/PP_TinyPose_256x192_infer.onnx \--input_shape_dict "{'image':[1,3,256,192]}"
转换成RKNN模型
python tools/rknpu2/export.py --config_path tools/rknpu2/config/PP_TinyPose_256x192_unquantized.yaml \--target_platform rk3588
把PP_TinyPose_256x192_infer文件夹打包放到OK3588板卡上
二、板卡模型部署
进入虚拟环境
conda activate ok3588
cd FastDeploy/examples/vision/keypointdetection/tiny_pose/rknpu2/cpp
mkdir build
cd build
cmake .. -DFASTDEPLOY_INSTALL_DIR=/home/forlinx/FastDeploy/build/fastdeploy-0.0.0/
make -j
得到了编译后的文件 infer_tinypose_demo
三、执行推理
PP_TinyPose_256x192_infer 文件夹放在build里面
NPU推理
sudo ./infer_tinypose_demo PP_TinyPose_256x192_infer pose.jpg