Selaa lähdekoodia

optimize build

Channingss 5 vuotta sitten
vanhempi
commit
4a00fa7013

+ 28 - 21
deploy/openvino/CMakeLists.txt

@@ -5,8 +5,10 @@ project(PaddleX CXX C)
 option(WITH_STATIC_LIB "Compile demo with static/shared library, default use static."   OFF)
 
 SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
-SET(OPENVINO_LIB "" CACHE PATH "Location of libraries")
+SET(OPENVINO_DIR "" CACHE PATH "Location of libraries")
 SET(OPENCV_DIR "" CACHE PATH "Location of libraries")
+SET(GFLAGS_DIR "" CACHE PATH "Location of libraries")
+SET(NGRAPH_LIB "" CACHE PATH "Location of libraries")
 
 include(cmake/yaml-cpp.cmake)
 
@@ -25,19 +27,33 @@ macro(safe_set_static_flag)
     endforeach(flag_var)
 endmacro()
 
-if (NOT DEFINED OPENVINO_LIB OR ${OPENVINO_LIB} STREQUAL "")
-    message(FATAL_ERROR "please set OPENVINO_LIB with -DOPENVINO_LIB=/path/influence_engine")
+if (NOT DEFINED OPENVINO_DIR OR ${OPENVINO_DIR} STREQUAL "")
+    message(FATAL_ERROR "please set OPENVINO_DIR with -DOPENVINO_DIR=/path/influence_engine")
 endif()
 
 if (NOT DEFINED OPENCV_DIR OR ${OPENCV_DIR} STREQUAL "")
     message(FATAL_ERROR "please set OPENCV_DIR with -DOPENCV_DIR=/path/opencv")
 endif()
 
-include_directories("${OPENVINO_LIB}/")
-link_directories("${OPENVINO_LIB}/lib")
-include_directories("${OPENVINO_LIB}/include/")
-link_directories("${OPENVINO_LIB}/external/tbb/lib/")
-include_directories("${OPENVINO_LIB}/external/tbb/include/tbb/")
+if (NOT DEFINED GFLAGS_DIR OR ${GFLAGS_DIR} STREQUAL "")
+    message(FATAL_ERROR "please set GFLAGS_DIR with -DGFLAGS_DIR=/path/gflags")
+endif()
+
+if (NOT DEFINED NGRAPH_LIB OR ${NGRAPH_LIB} STREQUAL "")
+    message(FATAL_ERROR "please set NGRAPH_DIR with -DNGRAPH_DIR=/path/ngraph")
+endif()
+
+include_directories("${OPENVINO_DIR}")
+link_directories("${OPENVINO_DIR}/lib")
+include_directories("${OPENVINO_DIR}/include")
+link_directories("${OPENVINO_DIR}/external/tbb/lib")
+include_directories("${OPENVINO_DIR}/external/tbb/include/tbb")
+
+link_directories("${GFLAGS_DIR}/lib")
+include_directories("${GFLAGS_DIR}/include")
+
+link_directories("${NGRAPH_LIB}")
+link_directories("${NGRAPH_LIB}/lib")
 
 if (WIN32)
   find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR}/build/ NO_DEFAULT_PATH)
@@ -63,22 +79,13 @@ else()
     set(CMAKE_STATIC_LIBRARY_PREFIX "")
 endif()
 
-if (NOT WIN32)
-    set(NGRAPH_PATH "${OPENVINO_LIB}")
-    if(EXISTS ${NGRAPH_PATH})
-        include(GNUInstallDirs)
-        include_directories("${NGRAPH_PATH}/include")
-        link_directories("${NGRAPH_PATH}/${CMAKE_INSTALL_LIBDIR}")
-        set(NGRAPH_LIB ${NGRAPH_PATH}/${CMAKE_INSTALL_LIBDIR}/libngraph${CMAKE_SHARED_LIBRARY_SUFFIX})
-    endif()
-endif()
 
 if(WITH_STATIC_LIB)
-	set(DEPS ${OPENVINO_LIB}/lib/intel64/libinference_engine${CMAKE_STATIC_LIBRARY_SUFFIX})
-	set(DEPS ${DEPS} ${OPENVINO_LIB}/lib/intel64/libinference_engine_legacy${CMAKE_STATIC_LIBRARY_SUFFIX})
+	set(DEPS ${OPENVINO_DIR}/lib/intel64/libinference_engine${CMAKE_STATIC_LIBRARY_SUFFIX})
+	set(DEPS ${DEPS} ${OPENVINO_DIR}/lib/intel64/libinference_engine_legacy${CMAKE_STATIC_LIBRARY_SUFFIX})
 else()
-	set(DEPS ${OPENVINO_LIB}/lib/intel64/libinference_engine${CMAKE_SHARED_LIBRARY_SUFFIX})
-	set(DEPS ${DEPS} ${OPENVINO_LIB}/lib/intel64/libinference_engine_legacy${CMAKE_SHARED_LIBRARY_SUFFIX})
+	set(DEPS ${OPENVINO_DIR}/lib/intel64/libinference_engine${CMAKE_SHARED_LIBRARY_SUFFIX})
+	set(DEPS ${DEPS} ${OPENVINO_DIR}/lib/intel64/libinference_engine_legacy${CMAKE_SHARED_LIBRARY_SUFFIX})
 endif()
 
 if (NOT WIN32)

+ 13 - 5
deploy/openvino/scripts/build.sh

@@ -1,13 +1,21 @@
-WITH_STATIC_LIB=OFF
-OPENVINO_LIB=/usr/local/deployment_tools/inference_engine/
-# OPENCV 路径, 如果使用自带预编译版本可不修改
+# openvino预编译库的路径
+OPENVINO_DIR=/path/to/inference_engine/
+# gflags预编译库的路径
+GFLAGS_DIR=/path/to/gflags
+# ngraph lib的路径,编译openvino时通常会生成
+NGRAPH_LIB=/path/to/ngraph/lib/
+
+# opencv预编译库的路径, 如果使用自带预编译版本可不修改
 OPENCV_DIR=$(pwd)/deps/opencv3gcc4.8/
+# 下载自带预编译版本
 sh $(pwd)/scripts/bootstrap.sh
+
 rm -rf build
 mkdir -p build
 cd build
 cmake .. \
     -DOPENCV_DIR=${OPENCV_DIR} \
-    -DOPENVINO_LIB=${OPENVINO_LIB} \
-    -DWITH_STATIC_LIB=${WITH_STATIC_LIB}
+    -DGFLAGS_DIR=${GFLAGS_DIR} \
+    -DOPENVINO_DIR=${OPENVINO_DIR} \
+    -DNGRAPH_LIB=${NGRAPH_LIB} 
 make

+ 4 - 0
deploy/openvino/src/classifier.cpp

@@ -35,6 +35,10 @@ int main(int argc, char** argv) {
     std::cerr << "--model_dir need to be defined" << std::endl;
     return -1;
   }
+  if (FLAGS_cfg_dir == "") {
+    std::cerr << "--cfg_dir need to be defined" << std::endl;
+    return -1;
+  }
   if (FLAGS_image == "" & FLAGS_image_list == "") {
     std::cerr << "--image or --image_list need to be defined" << std::endl;
     return -1;