欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-29 08:20:41
...

安装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
相关标签: 配环境