mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
[Other] Improve Paddle Lite Ascend lib (#1226)
* 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 * Fix links in readme * Fix links in readme * Update PPOCRv2/v3 examples * Update auto compression configs * Add neww quantization support for paddleclas model * Update quantized Yolov6s model download link * Improve PPOCR comments * 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 * Add English doc for quantization * Improve Ascend * Improve Ascend * Move ascend python demo * Imporve ascend * Fix PPOCR rec model bug * Improve ascend * Improve ascend * Improve ascend * Improve ascend * Add new paddleseg quantization support * Add new paddleseg quantization support * Add new paddleseg quantization support * Add new paddleseg quantization support * 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 Ascend model list * Add ascend model list * Add ascend model list * Add ascend model list * Add ascend model list * Add ascend model list * Add ascend model list * 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 * Improve PPOCR example * Support Ascend deployment on X86 platform * Improve Ascend docs * Improve ascend * Improve ascend * Change Paddle Lite Ascend URL * fix ascend docs * fix ascend docs * Fix Paddle Lite Ascend Lib * Imporve compile of Ascend * Imporve compile of Ascend * fix paddle lite compile
This commit is contained in:
@@ -33,8 +33,8 @@ set(ORT_DIRECTORY "@ORT_DIRECTORY@")
|
||||
set(OPENVINO_DIRECTORY "@OPENVINO_DIRECTORY@")
|
||||
set(RKNN2_TARGET_SOC "@RKNN2_TARGET_SOC@")
|
||||
set(WITH_KUNLUNXIN @WITH_KUNLUNXIN@)
|
||||
# Whether to use FastDeploy static lib. The default
|
||||
# value for this option is determined by the SDK
|
||||
# Whether to use FastDeploy static lib. The default
|
||||
# value for this option is determined by the SDK
|
||||
# build-time options.
|
||||
set(WITH_STATIC_LIB @WITH_STATIC_LIB@)
|
||||
|
||||
@@ -62,8 +62,8 @@ if(WITH_STATIC_LIB)
|
||||
# add_definitions(-DWITH_STATIC_WARNING)
|
||||
endif()
|
||||
|
||||
# Still need omp while using FastDeploy static lib.
|
||||
# This is due to the use of openmp for Paddle Lite's
|
||||
# Still need omp while using FastDeploy static lib.
|
||||
# This is due to the use of openmp for Paddle Lite's
|
||||
# static library.
|
||||
if(ANDROID AND WITH_STATIC_LIB AND WITH_LITE_STATIC)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/openmp.cmake)
|
||||
@@ -72,10 +72,10 @@ endif()
|
||||
if(ANDROID)
|
||||
add_library(fastdeploy STATIC IMPORTED GLOBAL)
|
||||
if(WITH_STATIC_LIB)
|
||||
set_property(TARGET fastdeploy PROPERTY IMPORTED_LOCATION
|
||||
set_property(TARGET fastdeploy PROPERTY IMPORTED_LOCATION
|
||||
${CMAKE_CURRENT_LIST_DIR}/lib/${ANDROID_ABI}/lib${LIBRARY_NAME}_static.a)
|
||||
else()
|
||||
set_property(TARGET fastdeploy PROPERTY IMPORTED_LOCATION
|
||||
set_property(TARGET fastdeploy PROPERTY IMPORTED_LOCATION
|
||||
${CMAKE_CURRENT_LIST_DIR}/lib/${ANDROID_ABI}/lib${LIBRARY_NAME}.so)
|
||||
endif()
|
||||
list(APPEND FASTDEPLOY_LIBS fastdeploy)
|
||||
@@ -226,7 +226,7 @@ if(ENABLE_VISION)
|
||||
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
|
||||
list(APPEND FASTDEPLOY_INCS ${OpenCV_INCLUDE_DIRS})
|
||||
# For now, we still need to link OpenCV static libs.
|
||||
# Users may use some of opencv's apis, but they may
|
||||
# Users may use some of opencv's apis, but they may
|
||||
# not have been compiled into fastdeploy.
|
||||
# list(APPEND FASTDEPLOY_LIBS ${OpenCV_LIBS})
|
||||
list(APPEND FASTDEPLOY_LIBS opencv_core opencv_video opencv_highgui opencv_imgproc opencv_imgcodecs)
|
||||
@@ -264,8 +264,8 @@ if(ENABLE_VISION)
|
||||
add_library(flycv_shared STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET flycv_shared PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libflycv_shared.so)
|
||||
list(APPEND FASTDEPLOY_LIBS flycv_shared)
|
||||
else()
|
||||
# This code may be needed later. Therefore, I choose to
|
||||
else()
|
||||
# This code may be needed later. Therefore, I choose to
|
||||
# comment it rather than delete it. (TODO:qiuyanjun)
|
||||
# add_library(flycv_static STATIC IMPORTED GLOBAL)
|
||||
# add_library(flycv_png16 STATIC IMPORTED GLOBAL)
|
||||
@@ -273,25 +273,25 @@ if(ENABLE_VISION)
|
||||
# add_library(flycv_z STATIC IMPORTED GLOBAL)
|
||||
# set_property(TARGET flycv_static PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libflycv_static.a)
|
||||
# set_property(TARGET flycv_png16 PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libpng16.a)
|
||||
# set_property(TARGET flycv_turbojpeg PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libturbojpeg.a)
|
||||
# set_property(TARGET flycv_z PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libz.a)
|
||||
# set_property(TARGET flycv_turbojpeg PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libturbojpeg.a)
|
||||
# set_property(TARGET flycv_z PROPERTY IMPORTED_LOCATION ${FLYCV_LIB_DIR}/${ANDROID_ABI}/libz.a)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_static)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_png16)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_turbojpeg)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_z)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_png16)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_turbojpeg)
|
||||
# list(APPEND FASTDEPLOY_LIBS flycv_z)
|
||||
endif()
|
||||
else()
|
||||
find_library(FLYCV_LIB flycv_shared ${FLYCV_LIB_DIR} NO_DEFAULT_PATH)
|
||||
list(APPEND FASTDEPLOY_LIBS ${FLYCV_LIB})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
if(ENABLE_CVCUDA)
|
||||
find_library(CVCUDA_LIB cvcuda ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/cvcuda/lib NO_DEFAULT_PATH)
|
||||
find_library(NVCV_TYPES_LIB nvcv_types ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/cvcuda/lib NO_DEFAULT_PATH)
|
||||
list(APPEND FASTDEPLOY_LIBS ${CVCUDA_LIB} ${NVCV_TYPES_LIB})
|
||||
endif()
|
||||
|
||||
|
||||
endif()
|
||||
|
||||
if (ENABLE_TEXT)
|
||||
@@ -404,7 +404,7 @@ if(ANDROID)
|
||||
endif()
|
||||
message(STATUS " WITH_OPENMP: : ${WITH_OPENMP}")
|
||||
message(STATUS " WITH_JAVA: : ${WITH_JAVA}")
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS " DEPENDENCY_LIBS : ${FASTDEPLOY_LIBS}")
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
@@ -415,7 +415,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
endif()
|
||||
|
||||
function(install_fastdeploy_libraries DESTINATION_DIR)
|
||||
# No dynamic libs need to install while using
|
||||
# No dynamic libs need to install while using
|
||||
# FastDeploy static lib.
|
||||
if(WITH_STATIC_LIB)
|
||||
return()
|
||||
@@ -442,9 +442,9 @@ function(install_fastdeploy_libraries DESTINATION_DIR)
|
||||
file(GLOB_RECURSE ALL_OPENCV_DYN_LIBS ${OpenCV_NATIVE_DIR}/libs/${DYN_LIB_SUFFIX})
|
||||
else()
|
||||
file(GLOB_RECURSE ALL_OPENCV_DYN_LIBS ${OpenCV_DIR}/${DYN_LIB_SUFFIX})
|
||||
endif()
|
||||
endif()
|
||||
list(REMOVE_ITEM ALL_DEPS_DYN_LIBS ${ALL_OPENCV_DYN_LIBS})
|
||||
|
||||
|
||||
if(NOT WITH_OPENCV_STATIC)
|
||||
if(WIN32)
|
||||
file(GLOB OPENCV_DYN_LIBS ${OpenCV_DIR}/x64/vc15/bin/${DYN_LIB_SUFFIX})
|
||||
|
||||
@@ -6,12 +6,12 @@ if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
if (NOT BUILD_FASTDEPLOY_PYTHON)
|
||||
message(STATUS "Build FastDeploy Ascend C++ library on X86 platform.")
|
||||
if(NOT PADDLELITE_URL)
|
||||
set(PADDLELITE_URL "https://bj.bcebos.com/fastdeploy/third_libs/lite-linux_x86_huawei_ascend_npu_0105.tgz")
|
||||
set(PADDLELITE_URL "https://paddle-qa.bj.bcebos.com/Paddle-Lite/DevelopDailyBuild/FastDeploy.CPP.inference_lite_lib.ubuntu.x86.huawei_ascend_npu.CANN5.1.RC2.alpha001.tar.gz")
|
||||
endif()
|
||||
else ()
|
||||
message(STATUS "Build FastDeploy Ascend Python library on X86 platform.")
|
||||
if(NOT PADDLELITE_URL)
|
||||
set(PADDLELITE_URL "https://bj.bcebos.com/fastdeploy/third_libs/lite-linux_x86_huawei_ascend_npu_python_0105.tgz")
|
||||
set(PADDLELITE_URL "https://paddle-qa.bj.bcebos.com/Paddle-Lite/DevelopDailyBuild/FastDeploy.Python.inference_lite_lib.ubuntu.x86.huawei_ascend_npu.CANN5.1.RC2.alpha001.tar.gz")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -21,12 +21,12 @@ if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
if (NOT BUILD_FASTDEPLOY_PYTHON)
|
||||
message(STATUS "Build FastDeploy Ascend C++ library on aarch64 platform.")
|
||||
if(NOT PADDLELITE_URL)
|
||||
set(PADDLELITE_URL "https://bj.bcebos.com/fastdeploy/third_libs/lite-linux_arm64_huawei_ascend_npu_0118.tgz")
|
||||
set(PADDLELITE_URL "https://paddle-qa.bj.bcebos.com/Paddle-Lite/DevelopDailyBuild/FastDeploy.CPP.inference_lite_lib.ubuntu.armv8.huawei_ascend_npu.CANN5.1.RC2.alpha001.tar.gz")
|
||||
endif()
|
||||
else ()
|
||||
message(STATUS "Build FastDeploy Ascend Python library on aarch64 platform.")
|
||||
if(NOT PADDLELITE_URL)
|
||||
set(PADDLELITE_URL "https://bj.bcebos.com/fastdeploy/third_libs/lite-linux_arm64_huawei_ascend_npu_python_0118.tgz")
|
||||
set(PADDLELITE_URL "https://paddle-qa.bj.bcebos.com/Paddle-Lite/DevelopDailyBuild/FastDeploy.Python.inference_lite_lib.ubuntu.armv8.huawei_ascend_npu.CANN5.1.RC2.alpha001.tar.gz")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -117,4 +117,4 @@ endif()
|
||||
|
||||
add_library(external_paddle_lite STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET external_paddle_lite PROPERTY IMPORTED_LOCATION ${PADDLELITE_LIB})
|
||||
add_dependencies(external_paddle_lite ${PADDLELITE_PROJECT})
|
||||
add_dependencies(external_paddle_lite ${PADDLELITE_PROJECT})
|
||||
Reference in New Issue
Block a user