Ubuntu 16 安装Cuda8+OpenCV3.2+Caffe

  • 英语:

本文综合自互联网,经过自己的实践写出。

0 准备

  1. 系统设置处,更换软件源。
  2. Ubuntu下实时显示网速

    1
    2
    3
    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install indicator-netspeed

    安装好后,设置{net} C: {cpu} M: {mem},勾选Run on startup

  3. 到应用商店安装GDebi

  4. 到搜狗输入法官网下载搜狗输入法,使用GDebi安装。
  5. 网易云音乐也提供deb包
  6. 安装git,安装cmake
    1
    2
    sudo apt install git
    sudo apt install cmake

1 安装Cuda

  1. 到系统设置→软件与更新→附加驱动。安装NVIDIA私有驱动。
  2. 重启。执行sudo nvidia-smi查看信息,说明安装成功
    enter description here
  3. 到NVIDIA官网下载历史版本的Cuda,下载Cuda8的run文件。注意不要再重复安装驱动
  4. 设置环境变量,修改PATH和LD_LIBRARY_PATH

    1
    sudo gedit ~/.bashrc

    文档最后添加

    1
    2
    3
    exportPATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
    {LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  5. 测试CUDA的samples

    1
    2
    3
    4
    cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

    make
    sudo ./deviceQuery

    enter description here
    PASS,说明安装成功

  6. 安装Cudnn

    1. 官网下载Cudnn:https://developer.nvidia.com/rdp/cudnn-download ,需要账号登录
    2. 在cuDNN解压之后的include目录打开终端

      1
      sudo cp cudnn.h /usr/local/cuda/include/    #复制头文件
    3. 进入lib64目录下的动态文件进行复制和链接:

      1
      2
      3
      4
      5
      sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
      cd /usr/local/cuda/lib64/
      sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
      sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
      sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接

2 安装Caffe

  1. 下载caffe:https://github.com/BVLC/caffe
  2. 安装依赖项

    1
    2
    3
    4
    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
    sudo apt-get install --no-install-recommends libboost-all-dev
    sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
    sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
  3. 将caffe包解压,复制到~/tools 目录下

  4. 配置Makefile.config

    1. 复制Makefile.config.example,重命名为Makefile.config
    2. 修改

      1
      2
      INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include
      LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib /usr/lib

      1
      2
      INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include /usr/include/hdf5/serial
      LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib /usr/lib/ usr/lib/x86_64-linux-gnu/ usr/lib/x86_64-linux-gnu/hdf5/serial
    3. 编译

      1
      2
      3
      make all –j8
      make test
      make runtest
    4. 使用MNIST数据集测试

      1. 所有操作需要定为到caffe根目录
      2. 下载MNIST数据库并解压缩

        1
        ./data/mnist/get_mnist.sh
      3. 转换成Lmdb数据库格式

        1
        ./examples/mnist/create_mnist.sh
      4. 训练网络

        1
        ./examples/mnist/train_lenet.sh
      5. 训练的时候可以看到损失与精度的数值,实验中为0.9906。
        enter description here

    5. 至此,caffe安装完成。

3 安装OpenCV3.2

  1. 下载
  2. 解压包,复制到~/tools 目录下
  3. 在OpenCV目录下新建build文件夹,进入,打开终端
  4. 执行,需要联网

    1
    sudo cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
  5. 编译、安装

    1
    2
    sudo make –j8  #要比较久
    sudo make install
  6. 在caffe下编译OpenCV

    1. 切换到caffe根目录
    2. 配置Makefile.config文件,将#OPENCV_VERSION := 3修改为OPENCV_VERSION := 3
  7. 编译
    1
    2
    3
    4
    make clean        #清除以前的编译
    make all -j8
    make test
    make runtest

4. 安装Matlab

Matlab的caffe接口编译有错误。继续研究中。

-------文章到此结束  感谢您的阅读-------