
* 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
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 |