• UBUNTU 14.04 + CUDA 7.5 + CAFFE


    这个也是困扰我很久的问题,之前用 http://www.cnblogs.com/platero/p/3993877.html 的安装方法,装了五六七八九十次,总是出问题。

    后来找到了一种新的方法,一个晚上加半个上午,装了ubuntu系统(14.04) + NVIDIA 驱动 + CUDA + CAFFE 全部搞定。还跑了mnist的那个数据库,爽爽的一点问题也没有。具体步骤:

    1.安装ubuntu,建议安装英文语言版(我自己安装的是14.04英文语言的)。

    2.安装NVIDIA 驱动:建议参考博客 http://blog.csdn.net/xizero00/article/details/43227019 (这是我同学的博客,我用他的方法装,好到爆炸)。

    建议先安装依赖项: $ sudo apt-get install build-essential

       1) 首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡): $ lspci | grep -i nvidia  

       2) 查看你的linux发行版本(主要是看是64位还是32位的):$ uname -m && cat /etc/*release

       3) 查看GCC版本: $ gcc --version  

       4) 首先下载nvidia cuda的仓库安装包(我的是ubuntu 14.04 64位,所以下载的是ubuntu14.04的安装包,如果你是32位的可以参看具体的地址,具体的地址是https://developer.nvidia.com/cuda-downloads)

       $: wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6***.deb (具体看网址多少) 

       5) 下载完成之后可以使用如下命令安装它,注意文件名修改为cuda-repo-ubuntu1404_6.5-14_amd64.deb, (建议下载local版(接近2G)的,在windows下用迅雷下载,拷贝到ubuntu桌面。net(几k)和local版本安装步骤一模一样,如下:)

       $ sudo stop lightdm

       $ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb  

       $ sudo start lightdm

       6) 安装好仓库之后,就可以更新你的本地仓库。

       $ sudo apt-get update  

       7) 最后开始安装cuda以及显卡驱动(安装cuda的同时就会把显卡驱动也全部安装好,这个真的很方便。但是下载的时间有点长。)

       sudo apt-get install cuda  

       **建议安装xubuntu, 防止桌面空白现象 $ sudo apt-get install xubuntu-desktop

     

    需要注意的是,我这里提供的安装方法跟网络上各种安装方法都不一样,他们的方法往往很复杂

    主要是因为:(1)有些教程是手工安装显卡的驱动程序,手工屏蔽系统的默认开源的驱动

                     (2)安装cuda也是手工进行

    使用这个方法的时候千万要注意几个问题:

                     (1)cuda6.5已经不支持老旧的显卡了所以sm11 等等都必须删除。可以参考我的另一个文章,关于编译opencv3.0的

                     (2)ubuntu14.04是64位的,并且不要一开始就更新系统补丁什么的,因为系统更新过之后,再安装显卡驱动就会无法进入图形界面,我查看了相关的日志发现是卡在了dbus那边。所以,我建议一安装好ubuntu 14.04就不要更新系统补丁。

       8) 安装完之后你需要设置环境变量, 在/etc/profile里面加入

          export PATH=/usr/local/cuda-6.5/bin:$PATH  

          export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH  

          然后在终端输入$   source /etc/profile

       9) 添加lib库路径:

         在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下

     /usr/local/cuda-6.5/lib64

         执行下列命令使之立刻生效

     sudo ldconfig

    我同学博客说接下来选择是否安装nvidia的sample,我感觉前一个步骤已经一起安装的,至少我安装的时候是这样的,所以这一步是不需要的,没有的话另行安装。

     接下来做一些验证工作:

    1. 查看显卡的驱动版本

       $ cat /proc/driver/nvidia/version  

    2. 查看nvcc编译器的版本

       $ nvcc -V i  

    3. 编译cuda的示例代码: $ cd ~/NVIDIA_CUDA-6.5_Samples, $ sudo make

    4. 全部编译完成后, 进入 samples/bin/x86_64/linux/release, sudo下运行deviceQuery,$ sudo ./deviceQuery

    安装其他工具和库

    1. 安装ATLAS(由于intel mkl收费,openblas安装复杂,atlas最好安装了,而且是caffe默认的), 一行代码搞定:$ sudo apt-get install libatlas-base-dev

    2. 安装Opencv 2.4.9: 这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV 下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限。

       1) $ chmod +x *.sh,  $ sudo ./opencv2_4_9.sh. 接下来等着自动安装。

    我个人人文安装opencv最好的办法是,在ubuntu软件中心输入opencv,然后把所有显示的项都点击安装(没有软件中心可以$sudo apt-get install software-center安装一个,该方法也可验证opencv是否装好)。

    另外,用该方法的时候会出现错误/home/yy/opencv-2.4.9/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda//cuda_compile_generated_matrix_operations.cu.o等一堆错误。

    该错误在终端输入:“cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..”,即可解决!

    如出现../modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed错误,解决办法在此:

    去网站http://code.opencv.org/issues/3814  下载 NCVPixelOperations.hpp 替换掉opencv2.4.9该路径下的文件, 重新编译。 在CSDN下载,以前的下载路径好像下载不了。

    最后,sudo make install 即可,可以python 试一下能否import 从从cv2。

    3.  安装其他依赖项: $  sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler (建议一个一个安装)

    4. 安装Python:下载CAFFE,转到caffe目录下的Python目录:$ sudo apt-get install python-dev python-pip, $ for req in $(cat requirements.txt); do sudo pip install $req; done

    安装完python后在/etc/profile里面加上路径,export PYTHONPATH = ...caffe_root/python/:$python:$PYTHONPATH

    (后面在运行python文件的时候,会用到protobuf,安装完probobuf也要在/etc/profile/中加入路径/usr/include/google/protobuf:$PATH)

    现在已经大功告成了:测试即可

       1) cd 进入caffe根目录, 首先复制一份Makefile.config

       2) $ cp Makefile.config.example Makefile.config

       3) $ make all -j8

            $ make test

            $ make runtest

    最后可以,安装MATLAB...(此处省略一万字...)

     

    5. 如果想用python接口,可接着如下操作。

        1) Makefile.config修改: WITH_PYTHON_LAYER := 1 #取消注释

        2) 编译:

        $ make clean

        $ make pycaffe -j32

        $ make test -j32

     3) 使Caffe的python接口永久生效

        $ vim /etc/profile profile 最后添加: export PYTHONPATH=/root/$CAFFE_ROOT/python:$PYTHONPATH

        $ source /etc/profile

    注意:

     

    有一些python库没有安装,在import caffe测试时会出错,常见的库缺失错误:

     

    ImportError: No module named skimage.io

     

    ImportError:  No module named scipy

     

    ImportError:  No module named google.protobuf.internal

     

    yum install python-matplotlib.x86_64
    pip install -U scikit-image
    pip install scipy
    easy_install protobuf

     

    安装完成上述caffe依赖的python库后,可能需要重新执行一遍第4,5步操作。

    6. 如果想使用MATLAB接口,在Makefile.config中修改文件,写入以下路径:

    MATLAB_DIR:=/usr/local/MATLAB/R2014a

    然后终端下编译:$ sudo make matcaffe

    然后测试:$ sudo make mattest

    如果在make mattest 出现以下错误:/usr/../libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by …) 可采用以下解决方案:

    sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/local/MATLAB/R2014a/bin/glnxa64/libstdc++.so.6

    成功没有报错即可。

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    设计模式--单例模式(Singleton)
    C# 和.Net 特性
    Fiddler 教程
    史铁生遗作:昼信基督夜信佛
    如何实现早日退休理想
    Linux 常用
    Golang 读书
    Python 读书
    RbMQ 简介
    UML 简介
  • 原文地址:https://www.cnblogs.com/txg198955/p/5473419.html
Copyright © 2020-2023  润新知