一、主机模型转换
采用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