mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-27 18:41:02 +08:00
* 对RKNPU2后端进行修改,当模型为非量化模型时,不在NPU执行normalize操作,当模型为量化模型时,在NUP上执行normalize操作 * 更新RKNPU2框架,输出数据的数据类型统一返回fp32类型 * 更新scrfd,拆分disable_normalize和disable_permute * 更新scrfd代码,支持量化 * 更新scrfd python example代码 * 更新模型转换代码,支持量化模型 * 更新文档 * 按照要求修改 * 按照要求修改 * 修正模型转换文档 * 更新一下转换脚本
SCRFD Python部署示例
在部署前,需确认以下两个步骤
-
- 软硬件环境满足要求,参考FastDeploy环境要求
本目录下提供infer.py快速完成SCRFD在RKNPU上部署的示例。执行如下脚本即可完成
拷贝模型文件
请参考SCRFD模型转换文档转换SCRFD ONNX模型到RKNN模型,再将RKNN模型移动到该目录下。
运行example
拷贝模型文件后,请输入以下命令,运行RKNPU2 Python example
# 下载部署示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy/examples/vision/facedet/scrfd/rknpu2/python
# 下载图片
wget https://raw.githubusercontent.com/DefTruth/lite.ai.toolkit/main/examples/lite/resources/test_lite_face_detector_3.jpg
# 推理
python3 infer.py --model_file ./scrfd_500m_bnkps_shape640x640_rk3588.rknn \
--image test_lite_face_detector_3.jpg
可视化
运行完成可视化结果如下图所示
注意事项
RKNPU上对模型的输入要求是使用NHWC格式,且图片归一化操作会在转RKNN模型时,内嵌到模型中,因此我们在使用FastDeploy部署时, 需要先调用DisablePermute(C++)或`disable_permute(Python),在预处理阶段禁用归一化以及数据格式的转换。