zoukankan      html  css  js  c++  java
  • ubuntu16.04安装caffe的GPU版本

    即使找到了安装方法,每个人的系统多少都有些差异,总有些坑要踩过才知道实际情况是怎么样的。我的环境是Lenovo V480 + Ubuntu 16.04 + GeForce GT 645M。安装过程是参考这篇博客——Ubuntu 16.04 安装配置Caffe 图文详解。需要完成的步骤有:

    1. 安装相关依赖项
    2. 安装NVIDIA驱动
    3. 安装CUDA
    4. 配置cuDNN
    5. 安装OpenCV
    6. 安装Caffe
    7. 测试

    这位博主的过程记录很详细,但有些细节方面我的问题有些不一样。我记录我的问题,希望有同样问题的人可以得到帮助

    1. NVIDIA显卡驱动安装
    2. 安装OpenCV
    3. 安装caffe
    4. 后记

    1.NVIDIA显卡驱动安装

    开始安装NVIDIA显卡驱动进入一个“building kernel”的界面,中间的进度条卡在100%好长时间,我以为已经安装完成就强制关机了。但开机发现笔记本变得超级慢,查询显卡驱动也显示未定义命令。这才意识到显卡驱动并没有安装完成。实际整个安装过程的确很耗时,而且也没什么提示,所以不要关机,耐心等他装完。中间还给出两次警告,一次是提示“pre-install script failed........”,我选择继续安装。还有一次是提示什么配置,我也是选择继续。安装结束后提示“Unable to find a suitable destination to install 32-bit compatibility”。我不是很能理解为什么安装64位驱动会涉及与32位的匹配问题。
    第一遍装完后系统还是有问题,一方面分辨率不对,另一方面循环进入登录界面。解决方案是参考这篇博客Ubuntu安装NVIDIA驱动后桌面循环登录问题。先删除了NVIDIA的驱动文件,然后用

    sudo ./NVIDIA-Linux-x86_64-375.20.run –no-x-check –no-nouveau-check –no-opengl-files
    

    当然驱动文件名是自己的。这一次在tty1终端中,安装的时候并没有停止X-Windows服务,发现对安装并没有影响。这一次驱动安装成功,但是分辨率还是有问题,借鉴这篇博客 ubuntu16.04中用xrandr设置屏幕分辨率,且重启后不失效。到这里显卡驱动终于修正过来了。

    不过输入“nvidia-smi”弹出的信息显示GPU的Process name项为Not Supported。我浏览其他人的看法。有人认为这是NVIDIA对老显卡的显示信息不正确,但实际上显卡也是工作的。也有人认为是新的驱动与显卡兼容性不好,所以显卡不能正常工作,导致实际上是CPU中的集显在承担任务。但无论怎样并不影响后续的安装与caffe的运行。

    2.安装OpenCV

    我笔记本之前已经安装了OpenCV,本以为可以不用安装,所以直接进行caffe的安装,结果出问题了。所以把OpenCV卸载之后重新编译安装一遍。结果超出想象。原本OpenCV只用一个小时左右就可以安装完成,没想到在CUDA的环境下用了5个多小时才编译完成。或许是我的电脑太渣了。所以OpenCV一定要在CUDA环境配置好了之后再安装。

    安装OpenCV中反复出现一个warning,not used because“ OPENCV_TRAITS_ENABLE_DEPRECATED ”has been defined。几乎每编译一个文件都会弹出这个警告。实践证明,这个警告并不影响最终的程序执行。只要没有error,warning一般可以忽略。

    3.caffe的安装

    到这一步是最大的坑了。之前的步骤按照博主的教程,虽然有点差异,但方向都没有问题,自己稍微做一点修正就可以了。但是caffe的编译博主犯了错。

    一般我们使用源文件安装的方式都是使用如下步骤的

    mkdir build
    cd build
    cmake ..
    make
    

    但是博主对一些文件设置完成直接用make all -j8。我当时也没多想,按照命令往下做。但无论怎么修改都会出现nvcc fatal: Unsupported gpu architecture 'compute_20'的错误提示。改了3次,才意识到好像还没做cmake。这样才安装成功。

    4.后记

    在测试的时候发现速度的确很慢,有可能是我的笔记本太渣了,也有可能是显卡驱动和显卡不适配,所以GPU加速没有起作用。不管怎样这都是第一步。现在先用起来,以后对计算有要求了可以加载到云上去,或者买更好的计算资源。

  • 相关阅读:
    轻量级数据持久层Seaking.PL简介--Query对象
    轻量级数据持久层Seaking.PL简介及建议征集
    Google秘密搜索入口
    异常,究竟抛向何处?
    [转]深入讲解ASP+ 验证
    .Net卸载程序的制作
    性能测试:Reflection VS CodeDom
    小心文件夹名称中的特殊字符
    [转]用Web标准进行开发
    使用ASP.Net Forms模式实现WebService身份验证
  • 原文地址:https://www.cnblogs.com/sgdd123/p/8428371.html
Copyright © 2011-2022 走看看