Ubuntu 18.04 + mxnet-cu101+ CUDA 10.1 + Opencv-python 2.4

安装mxnet gpu版本注意事项

必须要和cuda驱动版本一致!!!
例如cuda如果是10.0 则是安装cuda-cu100
cuda如果是9.0 则是安装cuda-cu90
cuda如果是10.1 则是安装cuda-cu101
不要认为可以版本不匹配使用,会报错。。

由于ubuntu18.04下默认安装opencv-python(cv)为3以上的版本,而测试megaface的官方代码必须使用cv2.4,因此进行以下安装

  1. 进入opencv官方链接下载2.4.13.6
wget https://github.com/opencv/opencv/archive/2.4.13.6.tar.gz
  1. 在保存的路径下解压
tar -zxvf opencv2.4.13.6.tar.gz
  1. 进入解压后的文件夹,并创建mkdir build,此时直接编译会出错,因为cuda10并不能直接调用2.4。需要在解压后的文件夹里找到FindCUDA.cmake和OpenCVDetectCUDA.cmake文件
  2. 在FindCUDA.cmake文件下,进行修改
    找到 find_cuda_helper_libs(nppi),改为
find_cuda_helper_libs(nppial)
find_cuda_helper_libs(nppicc)
find_cuda_helper_libs(nppicom)
find_cuda_helper_libs(nppidei)
find_cuda_helper_libs(nppif)
find_cuda_helper_libs(nppig)
find_cuda_helper_libs(nppim)
find_cuda_helper_libs(nppist)
find_cuda_helper_libs(nppisu)
find_cuda_helper_libs(nppitc)

找到

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")

改为

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")

找到 unset(CUDA_nppi_LIBRARY CACHE)
改为

unset(CUDA_nppial_LIBRARY CACHE)
unset(CUDA_nppicc_LIBRARY CACHE)
unset(CUDA_nppicom_LIBRARY CACHE)
unset(CUDA_nppidei_LIBRARY CACHE)
unset(CUDA_nppif_LIBRARY CACHE)
unset(CUDA_nppig_LIBRARY CACHE)
unset(CUDA_nppim_LIBRARY CACHE)
unset(CUDA_nppist_LIBRARY CACHE)
unset(CUDA_nppisu_LIBRARY CACHE)
unset(CUDA_nppitc_LIBRARY CACHE)
  1. 在OpenCVDetectCUDA.cmake文件下,找到
  set(__cuda_arch_ptx "")
  if(CUDA_GENERATION STREQUAL "Fermi")
    set(__cuda_arch_bin "2.0")
  elseif(CUDA_GENERATION STREQUAL "Kepler")
    set(__cuda_arch_bin "3.0 3.5 3.7")

改为

  set(__cuda_arch_ptx "")
  if(CUDA_GENERATION STREQUAL "Kepler")
    set(__cuda_arch_bin "3.0 3.5 3.7")
  elseif(CUDA_GENERATION STREQUAL "Maxwell")
    set(__cuda_arch_bin "5.0 5.2")
  1. 在build文件夹下,进行
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DENABLE_PRECOMPILED_HEADERS=OFF -D CUDA_GENERATION=Kepler ..
make -j8
sudo make install 
  1. 此时可以通过命令行查看opencv 的版本,已经为2.4.13.6
pkg-config --modversion opencv
  1. 但还无法直接使用opencv2.4,会报错
 libopencv_core.so.2.4: cannot open shared object..
  1. 需要在/etc/ld.so.conf.d/路径下,创建 opencv.conf,写入/usr/local/lib
  2. 最后命令行输入
sudo ldconfig -v

你可能感兴趣的:(配环境)