环境 | ubuntu16.04+cuda8.0+cuDnn5.1+opencv3.4.0

0 笔记本配置

1 待安装列表

  1. 系统:ubuntu16.04
  2. NVIDIA驱动
  3. cuda8.0
  4. cuDnn5.1
  5. opencv3.4.0

2 NVIDIA驱动

ubuntu16.04直接可以安装驱动,就不需要手动安装了,这个很给力哦~

  1. 打开系统设置-软件与更新


  2. 如上图默认为下面这个选项,ubuntu16.04会根据机器的GPU类型推荐适合的显卡驱动给我们,我的电脑是version384,点击它然后应用即可。


  3. 完成之后在命令行输入sudo dpkg --list | grep nvidia-*就可以查看到当前的NVIDIA驱动:

3 cuda8.0+cuDnn5.1

3.1 安装cuda8.0

  1. 进入cuda8下载页下载CUDA
    按照自己的要求选择,并选择runfile安装方案,我的如下所示:
  2. 下载cuda_8.0.27_linux.run文件,约1.4G
  3. 按照官网提示执行语句:sudo sh cuda_8.0.27_linux.run
  4. 注意: 接下来的一系列提示都选择确认或者默认,唯独除了是否安装INVIDIA驱动这一项点no,因为我们之前已经安装了适合自己的确定了。
    选no,no,no

ERROR:

Error1: unsupported compiler: 5.4.0. Use --override to override this check.
解决1: 按照提示在命令后加上--override

Error2: cannot find Toolkit in /usr/local/cuda-8.0
解决2: sudo apt install nvidia-cuda-toolkit,这个过程大概需要30分钟。

  1. 重新运行一下sudo sh cuda_8.0.27_linux.run --override(没有问题的直接跳过),成功以后如下所示:

  2. 环境变量设置并写到~/.bashrc尾部

export PATH="/usr/local/cuda-8.0/bin:$PATH"  
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"  

复制上面的语句到~./bashrc文件尾部即可。

3.2 检查cuda是否安装成功

  1. 检查路径 ~/dev 下 有无存在名为 nvidia* (以nvidia开头)的多个文件(device files)


  2. 检查 CUDA Toolkit是否安装成功 nvcc -v

  3. 编译samples例子,进入到Samples安装目录,然后在该目录下终端输入make,等待十来分钟。

这个时候报错了,提示错误信息:

ERROR: unsupported GNU version! gcc versions later than 5.3 are not supported
解决: GCC版本太高,回到~目录,进行降版本,将gcc版本降到4.9:

sudo apt-get install g++-4.9
sudo apt-get install gcc-4.9

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.9 gcc
sudo rm g++
sudo ln -s g++-4.9 g++

再用gcc -v即可查看到版本为4.9.3

这个时候再次进入sample目录进行make操作

  1. 程序测试,在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录
    运行deviceQuery程序,sudo ./deviceQuery
    成功啦

    如图所示,result=pass表示安装成功。

3.3 cudnn安装

  1. 下载cudnn5.1,下载地址

  2. 把tar文件解压后,进入文件目录

  3. 将里面的头文件cudnn.h以及库文件拷贝到cuda的安装目录中,我的安装目录是在/usr/local/cuda/

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

到这里为止,cuda8.0+cudnn5.1就安装好了。也就是基本搭建好了深度学习的gpu环境,接下来就可以在这个基础上装各种深度学习框架:caffe、tensorflow、pytorch等等,有机会的话后买再出一篇深度学习框架的安装教程~

4 opencv3.4.0

  1. 安装步骤主要参考: ubuntu16.04<源码编译安装OpenCV3.4.0>
  2. 首先去opecnv官网下载3.4.0的安装包
  3. 更新系统
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y autoremove
  1. 安装依赖
# Build tools:
sudo apt-get install -y build-essential cmake

# GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake):
sudo apt-get install -y qt5-default libvtk6-dev

# Media I/O:
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev libopenexr-dev libgdal-dev

# Video I/O:
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev

# Parallelism and linear algebra libraries:
sudo apt-get install -y libtbb-dev libeigen3-dev

# Python:
sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy
  1. 再次更新系统
sudo apt update
sudo apt upgrade
  1. 解压zip安装包并且创建build文件夹
mkdir build
cd build
sudo cmake ../

结果如下所示:


  1. 编译

输入命令sudo make即可。

ERROR:
make2: [modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gpu_mat.cu.o]
Error 1 make1: [modules/core/CMakeFiles/opencv_core.dir/all] Error 2

解决: 由于nvcc版本太高,在build目录下输入:
cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

然后继续执行sudo make进行编译,这里又是一杯咖啡的时间;
emm,不止一杯咖啡....好慢...喔喔

啊啊啊,终于成功了,放张图纪念下。


  1. 安装
    输入命令sudo make install
    如下图,安装一下还是很快的~

  2. 测试一下



    如下图所示,python2.7.12与python3.5.2都已经安装好了opencv3.4.0!

5 参考文献

推荐阅读更多精彩内容