Ubuntu14.04安装caffe指南

<span style="font-size:18px;">装caffe是一项技术活,很能考验一个人的耐力,经过无数次的重装系统之后,caffe终于安装成功了。</span>

操作系统:Ubuntu14.04 64bits

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

GPU:GTX TITAN X

cuda:cuda7.0

NVIDIA驱动:NVIDIA346.72

blas:mkl

安装过程:

(一)Ubuntu系统安装

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

 

(二)caffe依赖项

 

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

 

(三)NVIDIA驱动安装

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

1、利用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模块是否被加载。如果什么都没输出,则执行下一步。

2、重启后屏幕分辨率变低,不用管。进入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。

3、最好再执行命令

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

否则后续可能会出现如下错误提示:

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

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

 

<span style="font-size:18px;">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</span>

 

(四)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注册文件,按照指示下载即可,安装也较为简单,这里只提几点注意事项:

1、一个mkl安装文件可以同时被几个用户使用,所以不必重复下载。

2、安装的时候必须将安装包放置在Ubuntu能够识别的文件系统中,推荐~/,否则无法执行.sh脚本文件。

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

 

(六)如果要使用Python接口,那么还需要另外安装一些Python库文件(Ubuntu自带Python不能满足我们的需要)

<span style="font-size:18px;">sudo apt-get install python-numpy python-scipy python-dev</span>
<span style="font-size:18px;">sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler</span>


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

(八)编译配置caffe

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

<span style="font-size:18px;">cd caffe-root/caffe-master
cp Makefile.config.example Makefile.config
make all
make test
make runtest</span>

在make编译过程中会遇到一些问题,可能是由caffe本身文件兼容性问题造成的,比如

1、提示make:protoc:命令未找到,这是因为protoc未安装,只需安装就行。

<span style="font-size:18px;">sudo apt-get install protobuf-c-compiler protobuf-compiler</span>


2、提示“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以后能优化的更完美,不要再在编译的时候遇上这么多麻烦,对于初学者是很不利的。希望大家共同学习,共同进步吧!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值