mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-10-31 20:02:53 +08:00 
			
		
		
		
	 bae93cebc6
			
		
	
	bae93cebc6
	
	
	
		
			
			* implement PredictUIEInput * remove batch size * Add GetCandidateIdx * add GetCandidateIdx GetSpan GetSpanIdxAndProbs * Add Predict of UIEModel * Add relation schema * Fix uie unicode bug * rename information_extraction/ernie -> uie * Add more uie task * Add cross task extraction * use CharToBytesOffsetConverter * Add faster_tokenizer dir * Add RuntimeOption args * Add todo comments * Add some readme * fix readme * Fix readme Co-authored-by: Jason <jiangjiajun@baidu.com>
		
			
				
	
	
		
			150 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| CMAKE_MINIMUM_REQUIRED (VERSION 3.12)
 | |
| 
 | |
| set(WITH_GPU @WITH_GPU@)
 | |
| set(ENABLE_ORT_BACKEND @ENABLE_ORT_BACKEND@)
 | |
| set(ENABLE_PADDLE_BACKEND @ENABLE_PADDLE_BACKEND@)
 | |
| set(ENABLE_OPENVINO_BACKEND @ENABLE_OPENVINO_BACKEND@)
 | |
| set(PADDLEINFERENCE_VERSION @PADDLEINFERENCE_VERSION@)
 | |
| set(OPENVINO_VERSION @OPENVINO_VERSION@)
 | |
| set(ENABLE_TRT_BACKEND @ENABLE_TRT_BACKEND@)
 | |
| set(ENABLE_PADDLE_FRONTEND @ENABLE_PADDLE_FRONTEND@)
 | |
| set(ENABLE_VISION @ENABLE_VISION@)
 | |
| set(ENABLE_TEXT @ENABLE_TEXT@)
 | |
| set(ENABLE_OPENCV_CUDA @ENABLE_OPENCV_CUDA@)
 | |
| set(LIBRARY_NAME @LIBRARY_NAME@)
 | |
| 
 | |
| set(FASTDEPLOY_LIBS "")
 | |
| set(FASTDEPLOY_INCS "")
 | |
| list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/include)
 | |
| 
 | |
| if(NOT CMAKE_CXX_STANDARD)
 | |
|   set(CMAKE_CXX_STANDARD 11)
 | |
| endif()
 | |
| 
 | |
| find_library(FDLIB ${LIBRARY_NAME} ${CMAKE_CURRENT_LIST_DIR}/lib NO_DEFAULT_PATH)
 | |
| list(APPEND FASTDEPLOY_LIBS ${FDLIB})
 | |
| 
 | |
| if(ENABLE_ORT_BACKEND)
 | |
|   find_library(ORT_LIB onnxruntime ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/onnxruntime/lib NO_DEFAULT_PATH)
 | |
|   list(APPEND FASTDEPLOY_LIBS ${ORT_LIB})
 | |
| endif()
 | |
| 
 | |
| if(ENABLE_PADDLE_BACKEND)
 | |
|   find_library(PADDLE_LIB paddle_inference ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/paddle/lib NO_DEFAULT_PATH)
 | |
|   if(WIN32)
 | |
|     set(DNNL_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mkldnn/lib/mkldnn.lib")
 | |
|     set(IOMP_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mklml/lib/libiomp5md.lib")
 | |
|   elseif(APPLE)
 | |
|     message(STATUS "No third parties libs(mkldnn and omp) need to link into paddle_inference on MacOS OSX.")
 | |
|   else()
 | |
|     set(DNNL_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mkldnn/lib/libmkldnn.so.0")
 | |
|     set(IOMP_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mklml/lib/libiomp5.so")
 | |
|   endif()
 | |
|   if(NOT APPLE)
 | |
|     list(APPEND FASTDEPLOY_LIBS ${PADDLE_LIB} ${DNNL_LIB} ${IOMP_LIB})
 | |
|   else()
 | |
|     list(APPEND FASTDEPLOY_LIBS ${PADDLE_LIB})
 | |
|   endif()
 | |
| endif()
 | |
| 
 | |
| if(ENABLE_OPENVINO_BACKEND)
 | |
|   find_library(OPENVINO_LIB openvino ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/lib/ NO_DEFAULT_PATH)
 | |
|   list(APPEND FASTDEPLOY_LIBS ${OPENVINO_LIB})
 | |
| endif()
 | |
| 
 | |
| if(WITH_GPU)
 | |
|   if (NOT CUDA_DIRECTORY)
 | |
|     set(CUDA_DIRECTORY "/usr/local/cuda")
 | |
|   endif()
 | |
|   if(WIN32)
 | |
|     find_library(CUDA_LIB cudart ${CUDA_DIRECTORY}/lib/x64)
 | |
|   else()
 | |
|     find_library(CUDA_LIB cudart ${CUDA_DIRECTORY}/lib64)
 | |
|   endif()
 | |
|   if(NOT CUDA_LIB)
 | |
|     message(FATAL_ERROR "[FastDeploy] Cannot find library cudart in ${CUDA_DIRECTORY}, Please define CUDA_DIRECTORY, e.g -DCUDA_DIRECTORY=/path/to/cuda")
 | |
|   endif()
 | |
|   list(APPEND FASTDEPLOY_LIBS ${CUDA_LIB})
 | |
| 
 | |
|   if (ENABLE_TRT_BACKEND)
 | |
|     find_library(TRT_INFER_LIB nvinfer ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
 | |
|     find_library(TRT_ONNX_LIB nvonnxparser ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
 | |
|     find_library(TRT_PLUGIN_LIB nvinfer_plugin ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
 | |
|     if (NOT WIN32)
 | |
|       find_library(TRT_CAFFE_LIB nvcaffe_parser ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
 | |
|       list(APPEND FASTDEPLOY_LIBS ${TRT_INFER_LIB} ${TRT_ONNX_LIB} ${TRT_CAFFE_LIB} ${TRT_PLUGIN_LIB})
 | |
|     else()
 | |
|       list(APPEND FASTDEPLOY_LIBS ${TRT_INFER_LIB} ${TRT_ONNX_LIB} ${TRT_PLUGIN_LIB})
 | |
|     endif()
 | |
|   endif()
 | |
| 
 | |
| endif()
 | |
| 
 | |
| if(ENABLE_VISION)
 | |
|   if(WIN32)
 | |
|     set(OpenCV_DIR ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv-win-x64-3.4.16/build)
 | |
|     find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
 | |
|     list(APPEND FASTDEPLOY_INCS ${OpenCV_INCLUDE_DIRS})
 | |
|     list(APPEND FASTDEPLOY_LIBS ${OpenCV_LIBS})
 | |
|   else()
 | |
|     find_library(OPENCV_CORE_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|     find_library(OPENCV_HIGHGUI_LIB opencv_highgui ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|     find_library(OPENCV_IMGPROC_LIB opencv_imgproc ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|     find_library(OPENCV_IMGCODESC_LIB opencv_imgcodecs ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|     list(APPEND FASTDEPLOY_LIBS ${OPENCV_CORE_LIB} ${OPENCV_HIGHGUI_LIB} ${OPENCV_IMGPROC_LIB} ${OPENCV_IMGCODESC_LIB})
 | |
|     list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/include)
 | |
| 
 | |
|     if(ENABLE_OPENCV_CUDA)
 | |
|       find_library(OPENCV_CUDAARITHM_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|       find_library(OPENCV_CUDAIMGPROC_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|       find_library(OPENCV_CUDAWARPING_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
 | |
|       list(APPEND FASTDEPLOY_LIBS ${OPENCV_CUDAARITHM_LIB} ${OPENCV_CUDAIMGPROC_LIB} ${OPENCV_CUDAWARPING_LIB})
 | |
|     endif()
 | |
|   endif()
 | |
| endif()
 | |
| 
 | |
| if (ENABLE_TEXT)
 | |
| # Add dependency libs later
 | |
|   find_library(FASTER_TOKENIZER_LIB core_tokenizers ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/lib NO_DEFAULT_PATH)
 | |
|   list(APPEND FASTDEPLOY_LIBS ${FASTER_TOKENIZER_LIB})
 | |
|   list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/include)
 | |
|    # TODO (zhoushunjie): Will remove it later.
 | |
|   list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/include/faster_tokenizer)
 | |
|   list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/third_party/include)
 | |
| endif()
 | |
| 
 | |
| if(ENABLE_PADDLE_FRONTEND)
 | |
|   find_library(PADDLE2ONNX_LIB paddle2onnx  ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle2onnx/lib NO_DEFAULT_PATH)
 | |
|   list(APPEND FASTDEPLOY_LIBS ${PADDLE2ONNX_LIB})
 | |
| endif()
 | |
| 
 | |
| # Print compiler information
 | |
| message(STATUS "")
 | |
| message(STATUS "*************FastDeploy Building Summary**********")
 | |
| message(STATUS "  CMake version             : ${CMAKE_VERSION}")
 | |
| message(STATUS "  CMake command             : ${CMAKE_COMMAND}")
 | |
| message(STATUS "  System                    : ${CMAKE_SYSTEM_NAME}")
 | |
| message(STATUS "  C++ compiler              : ${CMAKE_CXX_COMPILER}")
 | |
| message(STATUS "  C++ compiler version      : ${CMAKE_CXX_COMPILER_VERSION}")
 | |
| message(STATUS "  CXX flags                 : ${CMAKE_CXX_FLAGS}")
 | |
| message(STATUS "  WITH_GPU                  : ${WITH_GPU}")
 | |
| message(STATUS "  ENABLE_ORT_BACKEND        : ${ENABLE_ORT_BACKEND}")
 | |
| message(STATUS "  ENABLE_PADDLE_BACKEND     : ${ENABLE_PADDLE_BACKEND}")
 | |
| if(ENABLE_PADDLE_BACKEND)
 | |
|   message(STATUS "  Paddle Inference version  : ${PADDLEINFERENCE_VERSION}")
 | |
| endif()
 | |
| message(STATUS "  ENABLE_OPENVINO_BACKEND   : ${ENABLE_OPENVINO_BACKEND}")
 | |
| if(ENABLE_OPENVINO_BACKEND)
 | |
|   message(STATUS "  OpenVINO version          : ${OPENVINO_VERSION}")
 | |
| endif()
 | |
| message(STATUS "  ENABLE_TRT_BACKEND        : ${ENABLE_TRT_BACKEND}")
 | |
| message(STATUS "  ENABLE_VISION             : ${ENABLE_VISION}")
 | |
| message(STATUS "  ENABLE_TEXT               : ${ENABLE_TEXT}")
 | |
| 
 | |
| if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
 | |
|   if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.4.0")
 | |
|     string(STRIP "${CMAKE_CXX_COMPILER_VERSION}" CMAKE_CXX_COMPILER_VERSION)
 | |
|     message(FATAL_ERROR "[ERROR] FastDeploy require g++ version >= 5.4.0, but now your g++ version is ${CMAKE_CXX_COMPILER_VERSION}, this may cause failure! Use -DCMAKE_CXX_COMPILER to define path of your compiler.")
 | |
|   endif()
 | |
| endif()
 |