mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-28 18:51:58 +08:00
55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
[English](README.md) | 简体中文
|
||
# PP-TinyPose RKNPU2部署示例
|
||
|
||
## 模型版本说明
|
||
|
||
- [PaddleDetection release/2.5](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.5)
|
||
|
||
目前FastDeploy支持如下模型的部署
|
||
|
||
- [PP-TinyPose系列模型](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.5/configs/keypoint/tiny_pose/README.md)
|
||
|
||
## 准备PP-TinyPose部署模型
|
||
|
||
PP-TinyPose模型导出,请参考其文档说明[模型导出](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/EXPORT_MODEL.md)
|
||
|
||
**注意**:PP-TinyPose导出的模型包含`model.pdmodel`、`model.pdiparams`和`infer_cfg.yml`三个文件,FastDeploy会从yaml文件中获取模型在推理时需要的预处理信息。
|
||
|
||
## 模型转换example
|
||
|
||
### Paddle模型转换为ONNX模型
|
||
|
||
由于Rockchip提供的rknn-toolkit2工具暂时不支持Paddle模型直接导出为RKNN模型,因此需要先将Paddle模型导出为ONNX模型,再将ONNX模型转为RKNN模型。
|
||
|
||
```bash
|
||
# 下载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]}"
|
||
```
|
||
|
||
### ONNX模型转RKNN模型
|
||
|
||
为了方便大家使用,我们提供了python脚本,通过我们预配置的config文件,你将能够快速地转换ONNX模型到RKNN模型
|
||
|
||
```bash
|
||
python tools/rknpu2/export.py --config_path tools/rknpu2/config/PP_TinyPose_256x192_unquantized.yaml \
|
||
--target_platform rk3588
|
||
```
|
||
|
||
## 详细部署文档
|
||
|
||
- [模型详细介绍](../README_CN.md)
|
||
- [Python部署](./python)
|
||
- [C++部署](./cpp) |