build.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # 是否使用GPU(即是否使用 CUDA)
  2. WITH_GPU=OFF
  3. # 是否使用MKL or openblas,TX2需要设置为OFF
  4. WITH_MKL=ON
  5. # 是否集成 TensorRT(仅WITH_GPU=ON 有效)
  6. WITH_TENSORRT=OFF
  7. # paddle 预测库lib名称,由于不同平台不同版本预测库lib名称不同,请查看所下载的预测库中`paddle_inference/lib/`文件夹下`lib`的名称
  8. PADDLE_LIB_NAME=libpaddle_inference
  9. # TensorRT 的include路径
  10. TENSORRT_INC_DIR=/path/to/tensorrt/include
  11. # TensorRT 的lib路径
  12. TENSORRT_LIB_DIR=/path/to/tensorrt/lib
  13. # Paddle 预测库路径
  14. PADDLE_DIR=/path/to/paddle_inference
  15. # CUDA 的 lib 路径
  16. CUDA_LIB=/path/to/cuda/lib
  17. # CUDNN 的 lib 路径
  18. CUDNN_LIB=/path/to/cudnn/lib
  19. # 是否开启关键点模型预测功能
  20. WITH_KEYPOINT=OFF
  21. # 是否开启跟踪模型预测功能
  22. WITH_MOT=OFF
  23. MACHINE_TYPE=`uname -m`
  24. echo "MACHINE_TYPE: "${MACHINE_TYPE}
  25. if [ "$MACHINE_TYPE" = "x86_64" ]
  26. then
  27. echo "set OPENCV_DIR for x86_64"
  28. # linux系统通过以下命令下载预编译的opencv
  29. mkdir -p $(pwd)/deps && cd $(pwd)/deps
  30. wget -c https://paddledet.bj.bcebos.com/data/opencv-3.4.16_gcc8.2_ffmpeg.tar.gz
  31. tar -xvf opencv-3.4.16_gcc8.2_ffmpeg.tar.gz && cd ..
  32. # set OPENCV_DIR
  33. OPENCV_DIR=$(pwd)/deps/opencv-3.4.16_gcc8.2_ffmpeg
  34. elif [ "$MACHINE_TYPE" = "aarch64" ]
  35. then
  36. echo "set OPENCV_DIR for aarch64"
  37. # TX2平台通过以下命令下载预编译的opencv
  38. mkdir -p $(pwd)/deps && cd $(pwd)/deps
  39. wget -c https://bj.bcebos.com/v1/paddledet/data/TX2_JetPack4.3_opencv_3.4.6_gcc7.5.0.tar.gz
  40. tar -xvf TX2_JetPack4.3_opencv_3.4.6_gcc7.5.0.tar.gz && cd ..
  41. # set OPENCV_DIR
  42. OPENCV_DIR=$(pwd)/deps/TX2_JetPack4.3_opencv_3.4.6_gcc7.5.0/
  43. else
  44. echo "Please set OPENCV_DIR manually"
  45. fi
  46. echo "OPENCV_DIR: "$OPENCV_DIR
  47. # 以下无需改动
  48. rm -rf build
  49. mkdir -p build
  50. cd build
  51. cmake .. \
  52. -DWITH_GPU=${WITH_GPU} \
  53. -DWITH_MKL=${WITH_MKL} \
  54. -DWITH_TENSORRT=${WITH_TENSORRT} \
  55. -DTENSORRT_LIB_DIR=${TENSORRT_LIB_DIR} \
  56. -DTENSORRT_INC_DIR=${TENSORRT_INC_DIR} \
  57. -DPADDLE_DIR=${PADDLE_DIR} \
  58. -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \
  59. -DCUDA_LIB=${CUDA_LIB} \
  60. -DCUDNN_LIB=${CUDNN_LIB} \
  61. -DOPENCV_DIR=${OPENCV_DIR} \
  62. -DPADDLE_LIB_NAME=${PADDLE_LIB_NAME} \
  63. -DWITH_KEYPOINT=${WITH_KEYPOINT} \
  64. -DWITH_MOT=${WITH_MOT}
  65. make
  66. echo "make finished!"