[关闭]
@upuil 2017-11-10T11:00:55.000000Z 字数 4254 阅读 4530

Ubuntu 16.04+CUDA8.0+cuDNN6.0+caffe (GPU版)

ubuntu caffe python


之前安装过一次caffe,这次重新安装没想到又遇到很多问题,之前想写一下安装教程的,当时因为考虑到网上的教程已经有很多了,就没有着手去写。但是从这次的安装情况来看,还是需要认真记录一下安装的过程,以免下一次犯同样的错误,也是为了加深点自己的印象,同时也能作为别人的参考教程。

软件链接: https://pan.baidu.com/s/1eSgtXeE 密码: cmhy

第一步是安装Ubuntu系统

安装系统我也看过许多的教程,其中不变的就是系统分区问题,因为大多数人都是安装双系统,或者是虚拟机上安转,但是有一点意见就是尽量安装LTS的版本,也就是偶数开头的(如 Ubuntu 16.04)。至于怎么安转就不在这里赘述。

第二步是安装NVIDIA显卡

首先必须是NVIDIA的显卡才可以GPU加速计算,先去NVIDIA官网上(http://www.nvidia.com/Download/index.aspx?lang=en-us图一 查询一下你显卡型号所需要的驱动,例如我的是GTX780Ti,需要的驱动是384.90图二
然后去设置->软件与更新 先把第一项中 Download from选择一个国内的下载源,aliyuncn99都可以,然后在附加驱动 这里换成你的驱动型号,然后apply changes 完成之后重新启动,或者log out在命令行中输入nvidia-smi如果有GPU清单,则显卡安装成功。图三
如果这里没有与你相同的选项,那只能通过刚才的网址(http://www.nvidia.com/Download/index.aspx?lang=en-us)那下载驱动,然后安装,如果选一个不支持的驱动的可能出现循环登录的问题。
如果有驱动选项的可以跳过安装驱动的部分,进入下一步。
驱动安装有两种方法
1. 第一种方法就是通过上面所说的,下载官网的安装包,然后按照提示安装,比如说刚才下载的软件是NVIDIA-Linux-x86_64-384.90.run安装时候首先要Ctrl+Alt+F1进入命令行模式,然后要关掉X server, 最后通过./NVIDIA-Linux-x86_64-384.90.run命令来安装驱动,按照提示安装即可。
2. 第二种方法是通过命令行的形式安装。

  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. sudo apt-get update
  3. sudo apt-get install**nvidia-367**(要根据自己的型号更换)
  4. sudo apt-get install mesa-common-dev
  5. sudo apt-get install freeglut3-dev

安装完成后要重新启动。在命令行中输入nvidia-smi如果有GPU清单,则显卡安装成功

第三步是安装CUDA

  1. 进入cuda的下载目录后,执行以下命令安装图四
    sudo sh cuda_8.0.44_linux.run
    安装过程中有
    Accept EULA conditions accpet
    Say YES to installing the NVIDIA driver No
    Say YES to installing CUDA Toolkit + Driver yes
    Say YES to installing CUDA Samples yes
    尤其注意问是否安装驱动要拒绝安装,因为我们前面已经安装过驱动。
  2. 安装完毕后要声明一下环境变量,执行如下代码
    vi ~/.bashrc
    将下面两行代码写到文件末尾
    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  3. 设置环境变量和动态链接库
    sudo gedit /etc/profile
    在打开的文件末尾加入:
    export PATH=/usr/local/cuda/bin:$PATH
  4. 保存之后,创建链接文件:
    sudo gedit /etc/ld.so.conf.d/cuda.conf
    在打开的文件中添加如下语句:
    /usr/local/cuda/lib64
    然后执行以下命令使链接立即生效。
    sudo ldconfig
  5. 最后测试一下cuda的例子,检查cuda是否安装成功。安装完cuda后必须重启电脑,才能让显卡配置生效!
    usr/local/cuda/samples
    sudo make all -j8
    继续进入到samples/bin/x86_64/linux/release目录下,在终端执行查询命令:
    ./deviceQuery
    如果返回你电脑显卡信息,结尾有Result=PASS,则安装成功。图五

第四步安装cuDNN

下载完cudnn6之后进行解压,cudnn-8.0-linux-x64-v6.0.tgz解压之后在命令行进行如下操作:
cd cuda
cd include
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
更新软链接:

  1. cd ..
  2. cd lib64
  3. sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
  4. cd /usr/local/cuda/lib64/
  5. sudo chmod +r libcudnn.so.6.0.21(或你自己的版本对应的)
  6. sudo ln -sf libcudnn.so.6.0.21 libcudnn.so.6
  7. sudo ln -sf libcudnn.so.6 libcudnn.so
  8. sudo ldconfig #使链接生效

第五步安装caffe

1.安装caffe安装的基本依赖库

  1. sudo apt-get install git
  2. sudo apt-get install build-essential
  3. sudo apt-get python
  4. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler libatlas-base-dev
  1. 下载caffe-master或其他版本的caffe
    cd $CAFFEROOT$ //进入caffe的根目录
    配置caffepython环境
  1. cd python
  2. sudo apt-get install python-pip python-dev build-essential
  3. sudo pip install --upgrade pip
  4. sudo pip install -r requirements.txt

为了后面能够使用python绘制caffe的网络模型等可视化操作,执行:

  1. sudo apt-get install graphviz #如果出现错误,尝试不加sudo
  2. sudo pip install pydot

修改配置文件
sudo cp Makefile.config.example Makefile.config
//将Makefile.config.example的内容复制到Makefile.config
//因为make命令只能操作Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子
3. sudo gedit Makefile.config //打开Makefile.config文件
改如下几个部分
改Makefile.config文件中
USE_CUDNN := 1
WITH_PYTHON_LAYER := 1#为了使用python来编写layer,将注释去掉
Whatever else you find you need goes here.下面的INCLUDE_DIRS与LIBRARY_DIRS := $(PYTHON_LIB) 改为下面两行

  1. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
  2. 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的位置,所以需要更改这一路径
  1. 修改Makefile文件中

    NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
    替换
    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    退出保存
  2. 在caffe的根目录下新建build文件夹
    mkdir build
    cd build
    sudo cmake .. -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DUSE_CUDNN=OFF
    如果没有报错则进行下一个命令
    sudo make -j8 这个数字是根据内存的大小选择的(4表示采用4核,当然如果你是8核你也可以用8)
  3. 需要将编译好的caffe写入到环境变量中,执行如下命令
    vi ~/.bashrc
    在末尾加入
    export PYTHONPATH=/home/到caffe根目录的路径/caffe-segnet-cudnn5-maste/python:$PYTHONPATH
    退出保存
    在命令行中输入
    python
    import caffe
    如果没有报错则安装正确。

参考链接

http://blog.csdn.net/sinat_14916279/article/details/53844963
http://blog.csdn.net/autocyz/article/details/52299889#insertcode
http://www.mobibrw.com/2017/7285

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注