设为首页 收藏本站
查看: 1624|回复: 0

[经验分享] Ubuntu14.04安装caffe指南

[复制链接]

尚未签到

发表于 2017-6-7 07:29:34 | 显示全部楼层 |阅读模式
  操作系统: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依赖项



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文件)按照官网的安装说明进行安装,大体步骤如下:
  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文件如下:



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注册文件,按照指示下载即可,安装也较为简单,这里只提几点注意事项:
  1、一个mkl安装文件可以同时被几个用户使用,所以不必重复下载。
  2、安装的时候必须将安装包放置在Ubuntu能够识别的文件系统中,推荐~/,否则无法执行.sh脚本文件。
  3、安装之后需要把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本身文件兼容性问题造成的,比如:
  1、提示make:protoc:命令未找到,这是因为protoc未安装,只需安装就行。



sudo apt-get install protobuf-c-compiler protobuf-compiler
  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 = signbit(x));


为:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y = std::signbit(x));  这是Yangqing Jia给出的解决方案,目前只有这一种方法。
  我在编译的时候只对于某些版本的caffe会遇到情况2,对于第一个问题只要你按照前面的步骤做了应该不会出现的。虽然装这个花了好几天,不过总算是自己的努力换来了回报,希望caffe以后能优化的更完美,不要再在编译的时候遇上这么多麻烦,对于初学者是很不利的。希望大家共同学习,共同进步吧!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-384484-1-1.html 上篇帖子: 基于Qt搭建ROS开发环境 下篇帖子: Ubuntu16.04的PHP开发环境配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表