Ubuntu14.04搭建GPU caffe(步骤超级大全+各类坑汇总)

前提

从Ubuntu裸机搭建caffe环境

机器型号:

认真研读caffe官网-Ubuntu系统安装要求,某些依赖是针对Ubuntu不同系统版本的。

安装流程

1、必备工具java8、git、vim等

2、caffe环境搭建

caffe官网-安装总体要求

caffe.berkeleyvision.org/installation.html#prequequisites

caffe官网-Ubuntu系统安装要求

caffe.berkeleyvision.org/install_apt.html

参考

blog.csdn.net/autocyz/article/details/51783857

根据官网要求,安装caffe相关流程如下

1)CUDA,支持GPU模块

2)BLAS

3)基本依赖 

boost>=1.55(亲测应是boost=1.55,其他版本编译会报错!!!坑啊!!!)

protobuf、leveldb、snappy、opencv、hdf5、

4)安装python或用系统版本及caffe需要的python依赖

5)matlab(很多caffe工程需要)版本要求2015a, 2014a/b, 2013a/b, and 2012b

6)编译caffe

下面将分别介绍这六步安装教程。

CUDA安装

官网

developer.nvidia.com/cuda-75-downloads-archive

官网有英文安装pdf,按步骤来即可。(之后可能会更安装步骤)

查看nvcc编译器版本

nvcc -V

查看NVIDIA显卡驱动和gcc版本

cat /proc/driver/nvidia/version

cuDNN

developer.nvidia.com/rdp/cudnn-download

注意自己编译的包是cuda还是cuda7.5,我是在cuda-7.5下编译的,所以我要将下面cuda改为cuda-7.5

给拷贝的文件增加可读权限

sudo chmod a+r /usr/local/cuda-7.5/include/cudnn.h /usr/local/cuda-7.5/lib64/libcudnn* 

在Makefile.config文件中对下面一行取消注释

USE_CUDNN := 1

BLAS

我选择的是安装intel提供的MKL库,性能是三者中最高的。

根据官网链接下载好mkl(注意选择对应系统的版本,我选择的是最新版2018update1),解压进入到目录,执行安装命令

sudo sh install.sh

配置环境变量(参考caffe官网,根据各自系统选择)

source /opt/intel/mkl/bin/mklvars.sh intel64

在/etc/ld.so.conf.d下新建intel-mkl.conf,添加以下路径,完成lib文件的链接

/opt/intel/mkl/lib/intel64

sudo ldconfig // 更新软链,一定要sudo

设置Makefile.config

BLAS := mkl

基本依赖

build-essential提供编译程序必须软件包的列表信息

sudo apt-get install build-essential

安装官网要求的基本依赖,软件在不同系统下的命名可能会有区别

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 #该步自动安装注意检查boost版本,14.04版本运行该命令装的是1.54版本,16.04安装的是1.58,但是如果不是1.55则编译会报错;安装boost1.55见文末-编译并安装boost1.55

安装14.04要求的基本依赖

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

安装完通过一下命令查看该软件在系统上的安装版本,防止某些依赖安装失败

dpkg -l 包名

python及caffe需要的python依赖

caffe工程里为我们准备了相关的python依赖,位置在caffe/python。

坑来了!!文件中matplotlib如果默认用下面一键安装的命令则安装的是2.1.0版本,之后会遇到cannot import name cbook的问题,所以该依赖请使用一下命令安装

sudo apt-get install python-matplotlib

修改好requirements.txt后,执行以下命令一键安装caffe工程需要的python依赖,该命令将按照requirements.txt文件中给出的版本号要求安装所有的依赖

sudo pip install -r caffe/python/requirements.txt

pip list // 查看安装的python

如果报错 numpy.distutils.system_info.NotFoundError: no lapack/blas resources found ,可能是缺少liblapack-dev,查看

blog.csdn.net/lingfeng892/article/details/50425547

编译caffe

编译前请重点查看Makefile.config以下变量是否配置好

CUDA_ARCH #CUDA计算能力设置,参考 developer.nvidia.com/cuda-gpus

MATLAB_DIR

PYTHON_INCLUDE

CUDA_DIR

编译caffe

make all -j8 // -j8表示开启八个线程编译,具体线程数依据机器cpu核数

make test -j8

make runtest -j8

make matcaffe // 将caffe导入matlab

make pycaffe // 将caffe导入python,可以在python下通过import caffe查看是否导入成功;该步骤容易出现诸多错误,不要着急参考编译出现问题以及文末的caffe安装问题汇总

编译出现问题

1、TypeParam = caffe::DoubleGPU   TypeParam = caffe::GPUDevice

参考 github.com/BVLC/caffe/issues/4229

添加环境变量

export CUDA_VISIBLE_DEVICES=0

2、error == cudaSuccess (8 vs. 0)

参考 blog.csdn.net/u010167269/article/details/50703923


编译并安装boost1.55

先卸载安装的其他boost版本

执行👇命令下载boost1.55

wget https://jaist.dl.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.gz

编译boost1.55参考

blog.csdn.net/zc02051126/article/details/22061773

编译会更新动态库配置文件/etc/ld.so.conf,需要执行以下命令创建动态装入程序所需的链接

sudo lpconfig

编译出现问题

fatal error: bzlib.h: No such file or directory

sudo apt-get install libbz2-dev


caffe安装问题汇总

参考(两个博文很厉害,专业配置caffe50年!!)

blog.csdn.net/u010167269/article/details/50703923

blog.csdn.net/u010167269/article/details/50703948

推荐阅读更多精彩内容