Ubuntu14.04安装caffe指南

操做系统:Ubuntu14.04 64bitspython

处理器:Intel core i7-4790k 8核4GHzlinux

GPU:GTX TITAN Xbash

cuda:cuda7.0app

NVIDIA驱动:NVIDIA346.72ide

blas:mkl学习

安装过程:优化

(一)Ubuntu系统安装ui

最好安装Ubuntu14.04,对caffe的支持最好,另外,安装完Ubuntu以后不要更新系统。google

 

(二)caffe依赖项spa

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
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

注意,这里安装的都是一些必要的库文件,必须安装。

 

(三)NVIDIA驱动安装

从NVIDIA官网下载英文版驱动,有.run与.deb两种格式,前者可自选组件进行安装,后者则等效于一键安装。注意要选择与本身gpu想匹配的驱动,没试过中文版驱动,不知道是否可行,不过在官网上下载中文驱动的时候会出现乱码。下载完驱动以后(我下的.run文件)按照官网的安装说明进行安装,大致步骤以下:

一、利用sudo gedit /etc/modprobe.d/blacklist-nouveau.conf新建blacklist-nouveau.conf文件,输入命令

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

保存并退出。这一步是为了禁掉Ubuntu自带开源驱动nouveau。以后sudo reboot重启系统。在终端执行命令

lsmod | grep nouveau

能够查看nouveau模块是否被加载。若是什么都没输出,则执行下一步。

二、重启后屏幕分辨率变低,不用管。进入tty1文件模式,输入用户名密码后登录,输入命令

sudo /etc/init.d/lightdm stop

关闭xserver。注意,安装NVIDIA驱动须要以root用户登录,因此利用命令sudo su进入root。输入命令

bash NVIDIA-LINUX-X86_64-346.72.run --kernel-source-path=/usr/src/linux-headers-3.*.*

进行安装。这里的linux-headers-3.*.*是Linux系统源文件名。安装过程当中有一些提示问题让你回答,注意,当提示

The distribution-provided pre-install script failed!Are you sure you want to continue?

的时候不用管,继续安装就好了,这个问题我至今没明白是什么缘由致使的,但这不影响后续安装及使用。当提示

Would you like to register the kernel module sources with DKMS?This will allow DKMS to auomatically build a new module,if you install a different kernel later

的时候,回答No。

三、最好再执行命令

sudo apt-get install linux-image-extra-virtual 

不然后续可能会出现以下错误提示:

modprobe: ERROR: could not insert'nvidia':Unknown symbolinmodule,or unknown parameter(see dmesg)

四、执行sudo /etc/init.d/lightdm start并重启电脑。重启后可能会产生分辨率问题,只须要更改/etc/X11/xorg.conf文件以下:

Section 'Monitor'
**
**
HorizSync       31.5 - 61.0
VertRefresh     50.0 - 75.0
**
**
Section 'Screen'
Modes      "800x600@72" "800x600@75" "800x600@56" "800x600@60" "640x480@75" "832x624@75" "640x480@72" "1024x768@75" "640x480@60" "1024x768@70" "1024x768@60" "1280x960@60"
EndSubSection

 

(四)cuda7.0安装

 注意,caffe推荐安装最新版NVIDIA驱动,因此cuda内置的驱动咱们就不须要安装了,cuda的安装彻底按照官网教程进行,过程比较简单,这里再也不赘述,若有问题能够留言咱们相互讨论。但注意一点是安装完成以后须要修改环境变量,只需在/etc/ld.so.conf.d/下新建一个cuda.conf文件,将cuda库路径(默认是/usr/local/cuda-7.0/lib64)加入以后保存便可。

 

(五)MKL的安装

caffe所须要的blas咱们安装mkl,虽然mkl的下载稍微有点麻烦,但安装起来仍是很快的。下载的时候只须要在官网申请学生免费版,用你的邮箱注册以后会自动收到下载指南以及一个lic注册文件,按照指示下载便可,安装也较为简单,这里只提几点注意事项:

一、一个mkl安装文件能够同时被几个用户使用,因此没必要重复下载。

二、安装的时候必须将安装包放置在Ubuntu可以识别的文件系统中,推荐~/,不然没法执行.sh脚本文件。

三、安装以后须要把mkl库路径(/opt/intel/lib以及/opt/intel/mkl/lib/intel64)加入环境变量。

 

(六)若是要使用Python接口,那么还须要另外安装一些Python库文件(Ubuntu自带Python不能知足咱们的须要)

sudo apt-get install python-numpy python-scipy python-dev

 

(七)若是须要使用matlab接口,那么推荐新版本的matlab好比R2013a/b,R2014a/b等,我安装的R2014b,没任何问题。

 

(八)编译配置caffe

下载caffe文件并解压至某一目录caffe-root,注意修改makefile文件当中的一些路径。执行一下命令

cd caffe-root/caffe-master
cp Makefile.config.example Makefile.config
make all
make test
make runtest

 

在make编译过程当中会遇到一些问题,多是由caffe自己文件兼容性问题形成的,好比:

一、提示make:protoc:命令未找到,这是由于protoc未安装,只需安装就行。

sudo apt-get install protobuf-c-compiler protobuf-compiler

二、提示“src/caffe/util/math_functions.cu(140):errot:calling a host function("std::signbit")from a globalfunction("caffe::sgnbit kernel")is not allowed”,

修改./include/caffe/util/math_functions.hpp 224行

删除(注释):using std::signbit

修改:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i]));

为:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = std::signbit(x[i]));

这是Yangqing Jia给出的解决方案,目前只有这一种方法。

我在编译的时候只对于某些版本的caffe会遇到状况2,对于第一个问题只要你按照前面的步骤作了应该不会出现的。虽然装这个花了好几天,不过总算是本身的努力换来了回报,但愿caffe之后能优化的更完美,不要再在编译的时候赶上这么多麻烦,对于初学者是很不利的。但愿你们共同窗习,共同进步吧!

相关文章
相关标签/搜索