0%

在 Ubuntu 12.04 上面安装 CAFFE

对Linux不太熟悉的同学,CUDA和MKL的安装最好选择默认路径,因为后面给出的例子都是在默认安装路径的下的配置。
教程不是非常详细,如果了解Linux的一些基本内容,该教程可以帮助你顺利完成CAFFE的安装。
如果对Linux比较熟悉,完全可以抛开本教程,按照官方教程安装成功,本教程主要是写给对于Linux不是很熟悉的同学。

安装环境

Ubuntu 12.04 LTS

安装依赖

  • 安装gcc等编译工具
1
apt-get install build-essential
  • fortran编译工具(安装python wrapper 时候需要fortran编译器)
1
apt-get install gfortran
  • 安装git (下载 caffe的时候会用到)
1
apt-get install git
  • 安装其他依赖

    1
    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
  • 安装glog

    1
    2
    3
    wget http://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
    tar xf glog-0.3.3.tar.gz
    ./configure; make install

安装CUDA toolkit

*下载cuda toolkit

1
wget http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run
  • 如果你要安装driver(不安装也不会有问题,如果没有GPU的话,一定不能安装driver,因为CUDA找不到GPU,安装会失败),还要切换到text模式,然后停掉图形界面,方法如下

    1
    sudo service lightdm stop

** 添加 cuda_6.0.37_linux_64.run 的执行权限:

1
chmod a+x cuda_6.0.37_linux_64.run
  • 安装cuda_6.0.37_linux_64.run:
1
./ cuda_6.0.37_linux_64.run

记住安装的路径(A),后面配置Makefile.config会用到

安装 BLAS

可以安装网站上提供的任意一个(ATLAS、MKL、OpenBLAS),目前我安装过ATLAS和MKL,MKL 的数度大约是ATLAS的7倍, 其中MKL是Intel官方推出的线性计算库,下载需要注册帐号,并且收费.

  • 安装ATLAS
1
sudo apt-get install libatlas-base-dev
  • 安装MKL:
    ** 下载并解压MKL
    ** 进入到解压的目录:

    1
    chmod a+x install.sh&&./install.sh

安装CAFFE

  • 把代码clone到本地
1
git clone https://github.com/BVLC/caffe.git
  • 切换到caffe目录
1
cd caffe
  • 复制Makefile.config
1
cp Makefile.config.example Makefile.config
  • 编辑Makefile.config
    ** 配置CUDA_DIR
    CUDA_DIR := /usr/local/cuda (cuda的安装路径,即上面A指定的目录)
    ** 配置BLAS
    BLAS := atlas
    或者
    BLAS := mkl,此种配置需要继续配置mkl的include和lib,如下:
    BLAS_INCLUDE := /opt/intel/mkl/include(mkl的位置,此处使用的是MKL默认路径)
    BLAS_LIB := /opt/intel/mkl/lib/intel64(mkl的位置,此处使用的是MKL默认路径)

  • 配置Python

1
2
3
4
PYTHON_INCLUDE := /usr/local/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include \
/usr/include/python2.7
PYTHON_LIB := /usr/local/lib /usr/lib
  • 配置相关路径信息
1
2
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
  • 编译CAFFE
1
2
3
make all
make test
make runtest

到此就完成了CAFFE安装的主体部分。为了使CAFFE能够使用,还需要配置环境变量, 方法如下:
配置LD_LIBRARY_PATH,最好写入到 /.bashrc中(如果写入到`/.bashrc, 写入并保存之后记得source ~/.bashrc`):

1
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH

到此处caffe的安装工作已完成。下面是安装python wrapper的过程(optional)
切换到 caffe/python,选用豆瓣的源:

1
2
pip install numpy # (如果跳过这一步,后面会出错,我猜是requirements.txt中package顺序的问题)
pip install -r /path/to/caffe/python/requirements.txt –i http://pypi.douban.com/simple/

切换到 caffe的根目录然后

1
make pycaffe