2024年1月14日发(作者:)

(9条消息)

Ubuntu18.04安装cuda10.0,cudnn7.6.4,opencv4.2.0,python环境

记录一下安装踩到的坑

o

o

1.安装cuda10.0和cudnn7.6.4

2.安装opencv

记录一下安装踩到的坑

新换了Ubuntu系统,安装可使用GPU加速的opencv时,遇到了好多大大小小的坑

版本太高(后续要安装tensorflow)

安装过程出现版本适配问题

缺少依赖包

Cmake出现问题

5.安装后找不到.so

1.安装cuda10.0和cudnn7.6.4

这个解决起来比较方便,到官网下载版本低一些的就可以了。

1. cuda下载地址: 下载最新的cuda,

2. 附一下cuda选版本的地址:自选版本的。这里我下载的是cuda10.0版本;

3. cudnn下载地址(需要注册登录后下载):可根据cuda选择相应的版本。这里我选择的是7.6.4;

4. 安装cuda时推荐使用runfile(local)方式进行安装。网上看过一些教程用deb(local)安装,之前按照教程结合官网安装指南尝试安装过,安装最新版本的时候没出现问题,但是在安装cuda10.0时候偶现一些头疼的版本适配问题,这里就不谈解决方式了。推荐直接换用runfile(local)方式(力荐)。

5. 安装cuda完成后配置文件:具体方式为vim ~/.bashrc,在最后添加如下代码部分

# NVIDIA CUDA Toolkit

export PATH=/usr/local/cuda-10.0/bin:$PATH

export

然后 source ~/.bashrc

6. 通过nvcc -V查看安装版本信息,显示10.0即可

7. cuda安装好了之后,下载cudnn,解压后复制到对应cuda包下即可。

$ cd cuda

$ sudo cp -P lib64/* /usr/local/cuda/lib64/

$ sudo cp -P include/* /usr/local/cuda/include/

如果没出现任何问题,说明成功了。

2.安装opencv

1. 安装opencv依赖

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install build-essential cmake unzip pkg-config

git libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python3-dev

2. git上clone opencv4.2.0,opencv_contrib4.2.0。直接从git上下载太慢,可以搜下gitee快速拉取git上项目的方法,网上一大堆,非常好用。

3. 进到opencv目录下新建build文件夹

$ cd ~/opencv

$ cd opencv

$ mkdir build && cd build

然后cmake一下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D

-D CMAKE_INSTALL_PREFIX=/usr/local

LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

INSTALL_PYTHON_EXAMPLES=ON

-D WITH_CUDA=ON -D

-D

-D

WITH_CUDNN=ON

ENABLE_FAST_MATH=1

CUDA_ARCH_BIN=7.5

-D

-D

-D

-D

-D

INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON

OPENCV_DNN_CUDA=ON

CUDA_FAST_MATH=1

WITH_CUBLAS=1

odules -D HAVE_opencv_python3=ON

OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/m-D

PYTHON_EXECUTABLE=~/.virtualenvs/opencv_cuda/bin/python

-D BUILD_EXAMPLES=ON ..

在这里我创建并使用了虚拟环境virtualenvs/opencv_cuda。其中CUDA_ARCH_BIN根据自己的GPU来选择相应的值。查看网站

4. 如果出现缺少,可以考虑把

OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules 这行的~/opencv/opencv_contrib/modules地址部分从你的电脑文件目录复制过来。然后问题就解决了,具体为啥,也不是特别清楚,大概是网页的文字格式和指令使用的有出入吧。

5. 当cmake没有问题后,可以进行opencv编译$ make -j$(nproc)。

6. 然后

$ sudo make install

$ sudo ldconfig

7. 如果使用虚拟环境,进入到安装目录去关联一下就好了

$ ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6

packages/

8. 如果安装好了import cv2报模块错误,查看下安装目录是否生成的(python2.*),或者n-36m-x86_ (python3.6的)。如果没有生成,说明安装过程中出了问题。可以删除opencv目录下的build文件,重复第3步骤(cmake开始)。

~/.virtualenvs/opencv_cuda/lib/python3.6/site-

主要参考如下博文,感谢!

[1]: /2020/02/03/how-to-use-opencvs-dnn-module-with-nvidia-gpus-cuda-and-cudnn/