美文网首页
ubuntu16.04 + cuda8.0 + cudnn6.0

ubuntu16.04 + cuda8.0 + cudnn6.0

作者: 文幕 | 来源:发表于2017-06-02 12:59 被阅读856次

    step1 安装NVIDIA显卡驱动

    因为我是重装了系统所以之前没有安过nvidia驱动,如果之前有装得话,可以自行删除,先 通过快捷键Ctrl+Alt+T打开终端

    sudo apt-get remove --purge nvidia-*
    

    下面开始安装 首先添加官方源

    sudo add-apt-repository ppa:graphics-drivers/ppa
    

    然后刷新软件库并安装(首先先去NVIDIA官网查询自己适合的驱动)

    sudo apt-get update
    sudo apt-get install nvidia-375 nvidia-settings nvidia-prime
    

    上面的nvidia-375根据你查询的结果自行更改
    Ps:这方法适用于Ubuntu16.04其他版本可能有问题 安装完成之后重启电脑 然后在命令行输入

    nvidia-smi
    

    出现显卡信息说明安装成功

    step2 安裝CUDA8.0

    先下载cuda8.0
    然后cd进下载目录执行

    sudo sh cuda_8.0.61_375.26_linux.run --override
    

    看到这么一步时,选择n

    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 *?
    (y)es/(n)o/(q)uit: n
    

    step3 修改~/.bashrc

    sudo gedit ~/.bashrc
    

    在最后加入

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

    step4 安裝cuDNN 6.0

    先下载cuDNN 6.0
    然后执行

    sudo tar xvf cudnn-8.0-linux-x64-v6.0.tgz
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    

    step5 安装依赖及opencv 3.2.0

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential cmake git pkg-config libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev python-pip python-dev python-numpy python-scipy
    sudo apt-get install --no-install-recommends libboost-all-dev
    pip install --upgrade pip
    sudo pip install Cython
    
    cd ~/
    wget https://raw.githubusercontent.com/milq/milq/master/scripts/bash/install-opencv.sh
    bash install-opencv.sh#这一步我执行了两次才成功
    

    step6 安装Caffe

    下载caffe并进入目录

    git clone https://github.com/BVLC/caffe.git
    cd caffe
    

    复制配置文件

    cp Makefile.config.example Makefile.config
    

    修改配置文件

    sudo gedit Makefile.config #打开Makefile.config文件 根据个人情况修改文件:
    

    a.若使用cudnn,则将

    #USE_CUDNN := 1
    

    修改成:

    USE_CUDNN := 1
    

    b.若使用的opencv版本是3的,则

    #OPENCV_VERSION := 3 
    

    修改为:

    OPENCV_VERSION := 3
    

    c.若要使用python来编写layer,则

    #WITH_PYTHON_LAYER := 1  
    

    修改为

     WITH_PYTHON_LAYER := 1 
    

    d.重要的一项 :

    # Whatever else you find you need goes here. 下面的
    
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
    

    修改为:

    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       
    

    这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.

    step7 编译caffe

    make all
    make pycaffe
    make test
    make runtest
    

    在任意位置import caffe

    sudo gedit ~/.bashrc   
    export PYTHONPATH=~/caffe/python:$PYTHONPATH  
    #上述语句中 “~” 号表示caffe 所在的根目录。
    

    关闭文件,在终端输入下面命令,使环境变量生效

    source ~/.bashrc  
    

    编译python3版本

    移除下面语句前面的注释

    # Uncomment to use Python 3 (default is Python 2)
    PYTHON_LIBRARIES := boost_python3 python3.5m
    PYTHON_INCLUDE := /usr/include/python3.5m \
                     /usr/lib/python3.5/dist-packages/numpy/core/include
    

    可能会遇到如下问题

    CXX .build_release/src/caffe/proto/caffe.pb.cc
    PROTOC (python) src/caffe/proto/caffe.proto
    LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
    CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
    /usr/bin/ld: cannot find -lboost_python3
    collect2: error: ld returned 1 exit status
    make: *** [python/caffe/_caffe.so] 错误 1
    

    这时候,检查是否有如下文件:
    !!! 这里的py35根据你的python版本来,我的是python3.5,这里就是py35

    ls /usr/lib/x86_64-linux-gnu/libboost_python-py35.so
    

    如果有,说明我们的系统中已经有了这种库文件,只是文件名不同。接下来执行下面语句

    cd /usr/lib/x86_64-linux-gnu/
    sudo ln -s libboost_python-py35.so libboost_python3.so
    

    重新编译即可。
    finish

    reference

    http://blog.csdn.net/Tang_DH/article/details/52556636
    http://bleuren.me/106/install-caffe/

    相关文章

      网友评论

          本文标题:ubuntu16.04 + cuda8.0 + cudnn6.0

          本文链接:https://www.haomeiwen.com/subject/gdzyfxtx.html