ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历

首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为GTX1060 
台式机显示器接的是GTX1060 HDMI口,win10上首先安装了最新的GTX1060驱动372.54


废话不多说,上车吧,少年

一、首先安装nvidia显卡驱动

  1. 我是1080P的显示器,在没有安装显卡驱动前,ubuntu分辨率很低,可以手动修改一下grub文件,提高分辨率,在终端输入

    sudo vim /etc/default/grub 
    找到以下行 
    # The resolution used on graphical terminal 
    # note that you can use only modes which your graphic card supports via VBE 
    # you can see them in real GRUB with the command 'vbeinfo' 
    # GRUB_GFXMODE=640×480 
    按a进入插入模式,增加下面一行 
    GRUB_GFXMODE=1920×1080 #这里分辨率自行设置 
    按esc退出插入模式,按:wq保存退出 
    在终端编辑 
    sudo update-grub 
    更新grub 
    重新启动ubuntu使之生效 

  2. 进入ubuntu系统设置-软件与更新-ubuntu软件,使用的是中科大的源:http://mirrors.ustc.edu.cn/ubuntu,如下所示

    这里写图片描述 

    更新Ubuntu16.04源,终端输入 
    cd /etc/apt/ 
    sudo cp sources.list sources.list.bak 
    sudo vi sources.list 
    把下面的这些源添加到source.list中: 
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse 
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse 
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    最后更新源和更新已安装的包: 
    终端输入 
    sudo apt-get update 
    sudo apt-get upgrade 

  3. 安装nvidia驱动,终端输入

    sudo add-apt-repository ppa:graphics-drivers/ppa 
    回车后继续 
    sudo apt-get update 
    sudo apt-get install nvidia-367 
    sudo apt-get install mesa-common-dev 
    sudo apt-get install freeglut3-dev 
    之后重启系统让GTX1060显卡驱动生效 

  4. 测试

    终端输入 
    nvidia-smi 
    显示效果如下图表示安装成功 
    这里写图片描述



二、cuda安装

  1. 下载cuda_8.0.27_linux.run和cudnn-8.0-linux-x64-v5.1.tgz

    这里我提供了百度网盘,这两个文件我先在win10下下载好,并用u盘拷贝到ubuntu的下载目录下 

  2. 安装cuda8.0

    终端输入 
    cd 下载/ 
    sh cuda_8.0.27_linux.run --override 
    启动安装程序,一直按空格到最后,输入accept接受条款 
    输入n不安装nvidia图像驱动,之前已经安装过了 
    输入y安装cuda 8.0工具 
    回车确认cuda默认安装路径:/usr/local/cuda-8.0 
    输入y用sudo权限运行安装,输入密码 
    输入y或者n安装或者不安装指向/usr/local/cuda的符号链接 
    输入y安装CUDA 8.0 Samples,以便后面测试 
    回车确认CUDA 8.0 Samples默认安装路径:/home/pawn(pawn是我的用户名),该安装路径测试完可以删除 
    安装完显示如下图 
    这里写图片描述

  3. 安装cudnn v5.1

    终端输入 
    cd 下载/ 
    tar zxvf cudnn-8.0-linux-x64-v5.1.tgz 
    解压在下载目录下产生一个cuda目录 
    cd cuda/include/ 
    sudo cp cudnn.h /usr/local/cuda/include/ 复制头文件 
    cd ../lib64 打开lib64目录 
    sudo cp lib* /usr/local/cuda/lib64/ 复制库文件 
    sudo chmod a+r /usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*给所有用户增加这些文件的读权限 

  4. 建立软链接

    终端输入 
    cd /usr/local/cuda/lib64/ 
    sudo rm -rf libcudnn.so libcudnn.so.5 
    sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 
    sudo ln -s libcudnn.so.5 libcudnn.so 
    设置环境变量,终端输入 
    sudo gedit /etc/profile 
    在末尾加入 
    PATH=/usr/local/cuda/bin:$PATH 
    export PATH 
    保存后,创建链接文件 
    sudo vim /etc/ld.so.conf.d/cuda.conf 
    按a进入插入模式,增加下面一行 
    /usr/local/cuda/lib64 
    按esc退出插入模式,按:wq保存退出 
    最后在终端输入sudo ldconfig使链接生效 

  5. cuda Samples测试

    打开CUDA 8.0 Samples默认安装路径,终端输入 
    cd /home/pawn/NVIDIA_CUDA-8.0_Samples (pawn是我的用户名) 
    sudo make all -j4 (4核) 
    出现“unsupported GNU version! gcc versions later than 5.3 are not supported!”的错误,这是由于GCC版本过高,在终端输入 
    cd /usr/local/cuda-8.0/include 
    sudo cp host_config.h host_config.h.bak 
    sudo gedit host_config.h 
    ctrl+f寻找有“5.3”的地方,只有一处,如下 
    # if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3) 
    #error -- unsupported GNU version! gcc versions later than 5.3 are not supported! 
    将两个5改成6,即 
    #if __GNUC__ > 6 || (__GNUC__ == 6 && __GNUC_MINOR__ > 3) 
    保存退出,继续在终端输入 
    cd /home/pawn/NVIDIA_CUDA-8.0_Samples (pawn是我的用户名) 
    sudo make all -j4 (4核) 
    完成后继续向终端输入 
    cd bin/x86_64/linux/release 
    ./deviceQuery 
    完成之后出现如下图所示,表示成功安装cuda 
    这里写图片描述



三、依赖包安装

  1. sudo apt-get install build-essential #必要的编译工具依赖

  2. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

  3. sudo apt-get install --no-install-recommends libboost-all-dev

  4. sudo apt-get install libatlas-base-dev

  5. sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev



  1. 安装python的pip和easy_install,方便安装软件包

    终端输入 
    cd 
    wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py 
    sudo python ez_setup.py --insecure 
    wget https://bootstrap.pypa.io/get-pip.py 
    sudo python get-pip.py



  1. 安装科学计算和python所需的部分库

    终端输入 
    sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy



  1. 安装git,拉取源码

    终端输入 
    sudo apt-get install git 
    git clone https://github.com/BVLC/caffe.git



  1. 安装python依赖

    终端输入 
    sudo apt-get install python-pip 安装pip 
    sudo su 
    for req in $(cat "requirements.txt"); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done
    按Ctrl+D退出sudo su模式



八、编译caffe(暂不对matlab说明)

  1. 终端输入 
    cd /home/pawn/caffe 
    cp Makefile.config.example Makefile.config 
    gedit Makefile.config

    ①将USE_CUDNN := 1取消注释,

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格 然后添加/usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误

  2. 终端输入 
    make all -j4 
    make过程中出现找不到lhdf5_hl和lhdf5的错误, 
    解决方案: 
    在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置 
    该目录下空白处右键点击在终端打开,打开新终端输入 
    sudo ln libhdf5_serial.so.10.1.0 libhdf5.so 
    sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so 
    最后在终端输入sudo ldconfig使链接生效 
    原终端中输入make clean清除第一次编译结果 
    再次输入make all -j4重新编译

  3. 终端输入 
    make test -j4 
    make runtest -j4 
    make pycaffe -j4 
    make distribute 生成发布安装包

  4. 测试python,终端输入 
    cd /home/pawn/caffe/python 
    python 
    import caffe 
    如果不报错就说明编译成功

使用caffe时编译出错

include and lib

使用自己机器编译的include和lib (caffe/build/lib, caffe/include)

caffe.pb.h丢失问题:

/home/wuliwei/caffe/include/caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
 #include "caffe/proto/caffe.pb.h"
  • 1
  • 2

解决方法: 用protoc从caffe/src/caffe/proto/caffe.proto生成caffe.pb.h和caffe.pb.cc

wuliwei@wulw:~/caffe/src/caffe/proto$ protoc --cpp_out=/home/wuliwei/caffe/include/caffe/ caffe.proto 
  • 1

stdc++

linker error:

/usr/bin/ld: caffe_cnn_handler.o: undefined reference to symbol '_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
  • 1
  • 2
  • 3

是找不到libstdc++.so.6,解决方法是在Makefile中加入:

LIBS += -L/usr/lib/x86_64-linux-gnu -lstdc++



九、mnist测试

  1. 下载mnist数据集,终端输入 
    cd /home/pawn/caffe/data/mnist/ 
    ./get_mnist.sh 获取mnist数据集 
    /home/pawn/caffe/data/mnist/目录下会多出训练集图片、训练集标签、测试集图片和测试集标签等4个文件

  2. mnist数据格式转换,终端输入 
    cd /home/pawn/caffe/ 
    ./examples/mnist/create_mnist.sh 
    必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh 
    此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集

  3. LeNet-5模型描述在/caffe/examples/mnist/lenet_train_test.prototxt

  4. Solver配置文件在/caffe/examples/mnist/lenet_solver.prototxt

  5. 训练mnist,执行文件在/caffe/examples/mnist/train_lenet.sh 
    终端输入 
    cd /home/pawn/caffe/ 
    ./examples/mnist/train_lenet.sh 
    测试结果如下 
    这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值