转载请注明:http://www.jb51.cc/article/p-kbeddvso-bpr.html

最近实验室新到了一个GPU服务器:2块GTX1080+1块intel低端显卡+2块至强cpu+256GSSD+64G内存+4T磁盘。然后因为做Semantic SLAM需要训练自己的很大的模型,所以需要装caffe。整个过程遇到了很多坑,最坑的当然就是显卡驱动这个问题。一方面ubuntu16.04、显卡都是比较新的版本,nvidia在这方面的支持也是一如既往地让人吐槽。在安装显卡驱动过程中,遇到了闪屏、循环登录等等问题。我会在本篇博客说一下我怎么解决的,以记录我两天的心酸历程。

    • CPU版本安装
    • GPU版本安装
    • 问题总结

cpu版本安装

我找的我觉得最好的版本是:
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
1、安装依赖项:

sudo apt-get update sudo apt-get upgrade sudo apt-get install -y build-essential cmake git pkg-config sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install -y libatlas-base-dev sudo apt-get install -y --no-install-recommends libboost-all-dev sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev # (Python general) sudo apt-get install -y python-pip # (Python 2.7 development files) sudo apt-get install -y python-dev sudo apt-get install -y python-numpy python-scipy

2、下载caffe:直接git。

https://github.com/BVLC/caffe

照着链接里面写的把Makefile.conf进行修改就可以跑了。

当然你也可以按照caffe官网走一遍:
http://caffe.berkeleyvision.org/installation.html#compilation
http://caffe.berkeleyvision.org/installation.html#compilation

这样就可以跑cpu版本了。如果安装不对可以考虑是某些库没装好,再装一边,或者考虑是Makefile.conf没有写好。要在python中import caffe的话需要把caffe的python加入到bashrc里。

GPU版本安装

我建议还是多花时间安装GPU版本,我跑faster rcnn的时候,出一张图片用GPu是0.1s,cpu是20s,差距悬殊。

GPU安装的过程继续参考:
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
cuda,cudnn版本一定要匹配。

问题总结

关键的地方来了,显卡驱动的各种坑。请看必杀技:
不需要驱动的使用: http://f.dataguru.cn/thread-725568-1-1.html
http://m.blog.csdn.net/article/details?id=51321887
http://blog.csdn.net/t5131828/article/details/53258925
记得不要装opengl,这个装了你就准备循环登录吧。

循环登录或者闪屏的话,不要想着重装。不到万不得已,不要重装。按ctrl+F1进入命令行模式,把刚才装的驱动删了,把关闭的nouveau的配置文件删了,更新一下。

看了那么多修改nouveau的教程,关闭,删除什么的,都没有什么卵用。

修改nouveau:
http://m.blog.csdn.net/article/details?id=52433609
http://blog.chinaunix.net/uid-11581508-id-3905393.html
http://www.360doc.com/content/15/1212/01/26884432_519759639.shtml
http://askubuntu.com/questions/223501/ubuntu-gets-stuck-in-a-login-loop
http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=477846&sid=b80c818379ae3640e4e3f5b3c7dae381&start=15
http://www.cnblogs.com/taopanpan/p/4263951.html
http://www.linuxdiyf.com/linux/26370.html
http://m.blog.csdn.net/article/details?id=52433609

非常好的教程:
http://blog.csdn.net/t5131828/article/details/53258925
http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8
http://lib.csdn.net/article/deeplearning/51314
http://m.2cto.com/os/201608/535727.html
http://blog.csdn.net/t5131828/article/details/53258925
http://qoofan.com/read/vnWeVBzVGM.html
http://f.dataguru.cn/thread-718537-1-1.html

cuDNN下载及安装教程:
下载地址:https://developer.nvidia.com/rdp/cudnn-download
http://blog.csdn.net/lee_j_r/article/details/52693724

安装cudnn的详细教程:
http://blog.csdn.net/jhszh418762259/article/details/52958287?locationNum=8&fps=1
http://blog.csdn.net/jhszh418762259/article/details/52958287?locationNum=8&fps=1

hdf5的问题解决: http://www.linuxdiyf.com/linux/21717.html
http://www.jb51.cc/article/p-goclwwud-bqg.html
http://www.cnblogs.com/taopanpan/p/4263951.html

装完之后测试: http://www.linuxdiyf.com/linux/21717.html

安装opencv: http://www.jb51.cc/article/p-evvodmjx-gt.html

Makefile.conf的书写:
http://www.cnblogs.com/anmengcv/p/5368846.html
http://blog.csdn.net/jbddygb/article/details/52721808

caffe安装+Ubuntu16.04+三显卡gpu加速的更多相关文章

  1. Swift 字符串替换/过滤/切割/拼接

    替换为/结果过滤过滤掉单个字符/结果过滤掉开头和结尾的空白结果切割对字符串使用/作为分隔符来切割,不允许空字符串使用split函数结果是一个数组对字符串使用/作为分隔符来切割,允许空字符串结果拼接结果

  2. Swift教程之String的运用

  3. CSDN社区之星杨宏焱:苹果开源Swift的那些事

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  4. Swift开发教程--字符串的操作

    替换把?替换为/结果

  5. 工具类YJUtils

    在Swift开发工程中,我们会封装一些常用的工具类,这里我封装了YJUtils。

  6. 仿CSDN 右下角悬挂的浮动层效果

    仿CSDN 的右下角广告,效果不错,注意图片

  7. ubuntu – docker.io容器上的GPU访问

    我有一个应用程序,只能在具有完整GPU访问/硬件OpenGL的X11环境中运行.我可以在Hetzner服务器上运行它,因为他们的机器有不错的GPU.安装了Ubuntu桌面,并且运行了x11vnc.我正在考虑将所有桌面内容放入docker容器中并在主机上安装ubuntu服务器.有没有办法让docker容器完全访问GPU?Leonti您必须使用特权状态运行容器即dockerrun–privileged–device=/dev/snd:/dev/snd等

  8. ubuntu – 强制无头服务器加载GPU的视频驱动程序?

    我在Ubuntu上运行无头服务器,目的是使用GPU进行非图形计算.但是,我发现没有插入监视器的内核无法加载图形驱动程序.有什么理由我不能使用modprobe或其他一些机制来强制驱动程序在启动时加载,或者我是否完全采用了错误的路由?解决这个问题的最佳做法是什么?VGA或DVI虚拟插头将允许GPU在没有监视器的情况下启动.例如,这些可以是purchased或builtyourself.

  9. 将博客搬至CSDN

    将博客搬至CSDN

  10. 深度学习服务器环境配置: Ubuntu17.04+Nvidia GTX 1080+CUDA 9.0+cuDNN 7.0+TensorFlow 1.3

    前段时间这台主机出了点问题,本着“不折腾毋宁死”的原则,我重新安装了系统,并且选择了最新的Ubuntu17.04,CUDA9.0,cuDNN7.0,TensorFlow1.3,然后又是一堆坑,另外所能Google到的国内外资料目前为止基本上覆盖的还是CUDA8.0,和cuDNN6.0,5.0,所以这里再次记录一下本次深度学习主机环境配置之旅。然后就是给GTX1080显卡安装驱动,参考了这篇文章《HowtoinstallNvidiaDriversonUbuntu17.04&below,LinuxMint》,

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部