Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 2.2 KB

boost_cv_by_flycv.md

File metadata and controls

68 lines (51 loc) · 2.2 KB

English | 中文

使用FlyCV加速端到端推理性能

FlyCV 是一款高性能计算机图像处理库, 针对ARM架构做了很多优化, 相比其他图像处理库性能更为出色. FastDeploy现在已经集成FlyCV, 用户可以在支持的硬件平台上使用FlyCV, 实现模型端到端推理性能的加速.

已支持的系统与硬件架构

系统 硬件架构
Android armeabi-v7a, arm64-v8a
Linux aarch64, armhf, x86_64

使用方式

使用FlyCV,首先需要在编译时开启FlyCV编译选项,之后在部署时新增一行代码即可开启. 本文以Linux系统为例,说明如何开启FlyCV编译选项, 之后在部署时, 新增一行代码使用FlyCV.

用户可以按照如下方式,在编译预测库时,开启FlyCV编译选项.

# 编译C++预测库时, 开启FlyCV编译选项.
-DENABLE_VISION=ON \

# 在编译Python预测库时, 开启FlyCV编译选项
export ENABLE_FLYCV=ON

用户可以按照如下方式,在部署代码中新增一行代码启用FlyCV.

# C++部署代码.
# 新增一行代码启用FlyCV
fastdeploy::vision::EnableFlyCV();
# 其他部署代码...(以昇腾部署为例)
fastdeploy::RuntimeOption option;
option.UseAscend();
...


# Python部署代码
# 新增一行代码启用FlyCV
fastdeploy.vision.enable_flycv()
# 其他部署代码...(以昇腾部署为例)
runtime_option = build_option()
option.use_ascend()
...

部分平台FlyCV 端到端性能数据

鲲鹏920 CPU + Atlas 300I Pro 推理卡.

模型 OpenCV 端到端性能(ms) FlyCV 端到端性能(ms)
ResNet50 2.78 1.63
PP-LCNetV2 2.50 1.39
YOLOv7 27.00 21.36
PP_HumanSegV2_Lite 2.76 2.10

瑞芯微RV1126.

模型 OpenCV 端到端性能(ms) FlyCV 端到端性能(ms)
ResNet50 9.23 6.01
mobilenetv1_ssld_量化模型 9.23 6.01
yolov5s_量化模型 28.33 14.25
PP_LiteSeg_量化模型 132.25 60.31