Files
FastDeploy/docs/en/faq/boost_cv_by_flycv.md
yunyaoXYY 58d63f3e90 [Other] Add detection, segmentation and OCR examples for Ascend deploy. (#983)
* Add Huawei Ascend NPU deploy through PaddleLite CANN

* Add NNAdapter interface for paddlelite

* Modify Huawei Ascend Cmake

* Update way for compiling Huawei Ascend NPU deployment

* remove UseLiteBackend in UseCANN

* Support compile python whlee

* Change names of nnadapter API

* Add nnadapter pybind and remove useless API

* Support Python deployment on Huawei Ascend NPU

* Add models suppor for ascend

* Add PPOCR rec reszie for ascend

* fix conflict for ascend

* Rename CANN to Ascend

* Rename CANN to Ascend

* Improve ascend

* fix ascend bug

* improve ascend docs

* improve ascend docs

* improve ascend docs

* Improve Ascend

* Improve Ascend

* Move ascend python demo

* Imporve ascend

* Improve ascend

* Improve ascend

* Improve ascend

* Improve ascend

* Imporve ascend

* Imporve ascend

* Improve ascend

* acc eval script

* acc eval

* remove acc_eval from branch huawei

* Add detection and segmentation examples for Ascend deployment

* Add detection and segmentation examples for Ascend deployment

* Add PPOCR example for ascend deploy

* Imporve paddle lite compiliation

* Add FlyCV doc

* Add FlyCV doc

* Add FlyCV doc

* Imporve Ascend docs

* Imporve Ascend docs
2023-01-04 10:01:23 +08:00

2.2 KiB

简体中文 | English

Accelerate end-to-end inference performance using FlyCV

FlyCV is a high performance computer image processing library, providing better performance than other image processing libraries, especially in the ARM architecture. FastDeploy is now integrated with FlyCV, allowing users to use FlyCV on supported hardware platforms to accelerate model end-to-end inference performance.

Supported OS and Architectures

OS Architectures
Android armeabi-v7a, arm64-v8a
Linux aarch64, armhf, x86_64

Usage

To use FlyCV, you first need to turn on the FlyCV compile option at compile time, and then add a new line of code to turn it on. This article uses Linux as an example to show how to enable the FlyCV compile option, and then add a new line of code to use FlyCV during deployment.

You can turn on the FlyCV compile option when compiling the FastDeploy library as follows.

# When compiling C++ libraries
-DENABLE_VISION=ON

#  When compiling Python libraries
export ENABLE_FLYCV=ON

You can enable FlyCV by adding a new line of code to the deployment code as follows.

# C++ code
fastdeploy::vision::EnableFlyCV();
# Other..(e.g. With Huawei Ascend)
fastdeploy::RuntimeOption option;
option.UseAscend();
...


# Python code
fastdeploy.vision.enable_flycv()
# Other..(e.g. With Huawei Ascend)
runtime_option = build_option()
option.use_ascend()
...

Some Platforms FlyCV End-to-End Inference Performance

KunPeng 920 CPU + Atlas 300I Pro.

Model OpenCV E2E Performance(ms) FlyCV E2E Performance(ms)
ResNet50 2.78 1.63
PP-LCNetV2 2.50 1.39
YOLOv7 27.00 21.36
PP_HumanSegV2_Lite 2.76 2.10

Rockchip RV1126.

Model OpenCV E2E Performance(ms) FlyCV E2E Performance(ms)
ResNet50 9.23 6.01
mobilenetv1_ssld_量化模型 9.23 6.01
yolov5s_量化模型 28.33 14.25
PP_LiteSeg_量化模型 132.25 60.31