前提
从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