• Caffe 安装 Ubuntu14.04+CUDA7.0/7.5(亲测有效)


      自己安装Caffe的过程中,参考了很多资料,但由于版本或者其他原因,安装过程中总是遇到这样或者那样的问题,因此留做记录,方便之后查看,也希望对遇到相似麻烦的朋友们提供帮助。

       下面我们开始安装吧:

      硬件自然不用说了,一个好的显卡(Nvida TiTan 系列),i7的处理器,8G以上的RAM。

    1. 安装部分支持库

    sudo apt-get install build-essential
    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 
    sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
    

    2. 下载NVIDIA显卡驱动 和 CUDA

      a. 显卡驱动下载

      http://www.nvidia.cn/Download/index.aspx?lang=cn 选择对应型号和系统下载(CUDA向下兼容,可以下载最新的driver)

      Linux下run文件点下载键直接打开网页,可点击右键另存为即可。

      b. CUDA下载

      https://developer.nvidia.com/cuda-downloads 选择对应系统下载

      可以下载CUDA 7.0或者 7.5

    3. 安装NVIDIA显卡驱动和CUDA

      首先进入tty,输入用户名和密码。

      关闭图形界面: 

    sudo stop lightdm

      安装驱动:(更改驱动名称)

    sudo chmod -R 777 NVIDIA-Linux-x86_64-352.21.run          
    sudo sh NVIDIA-Linux-x86_64-352.21.run
    

      安装CUDA:

    sudo chmod -R 777 cuda_7.0.28_linux.run
    sudo ./cuda_7.0.28_linux.run
    

      安装过程都默认路径就好。CUDA7会提示安装完了Driver、Toolkit和Samples。

        备注1:如果之前你单独安装了驱动,安装CUDA时,驱动安装部分可以跳过。

        备注2:安装Samples可能会提示 缺少一些库,simple 也可之后编译测试。 

      打开图形界面

    sudo start lightdm
    

    4. 如果安装驱动不成功,很可能会进入黑屏模式,不要着急重装系统,进入tty重新装一遍驱动即可。(驱动安装成功,本步可略过)

      如果进入不了tty (ctrl+Alt+F1~F6),只是黑屏,则:

    sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
    sudo update-grub
    sudo reboot

      如果重启机子之后就进入不了桌面,在登陆界面循环,但是可以进入tty,一般是内核引导或者驱动安装的问题。则进入tty

    lsmod | grep nouveau
    

      创建文件,不会用vi的可以用gedit

    sudo gedit /etc/modprobe.d/nvidia-graphics-drivers.conf

      写入  blacklist nouveau, 退出保存(wq)

      修改grub:

    sudo gedit /etc/default/grub
    

       末尾写入 

    rdblacklist=nouveau nouveau.modeset=0
    

    5. 安装配置Nvidia cuDNN-v4 (也可下载v5版本,链接库文件时注意改名)

      a. 去官网下载最新的cuDNN (cudnn-70-linux-x64-v4)。

    https://developer.nvidia.com/cudnn 下载,需要先注册为developer,审核通过就可以下载,大概审个两天就可以。这个主要是针对Deep Learning框架设计的NVIDIA CUDA的GPU计算加速方案。不安装这个也可以跑caffe。

      b. 添加头文件和库文件

    sudo cp include/cudnn.h /usr/local/include
    sudo cp lib64/libcudnn.* /usr/local/lib
    

      c. 链接cuDNN的库文件

    sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4
    sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
    sudo ldconfig -v
    

    6. 设置CUDA的环境变量 

      安装完成后需要在/etc/profile中添加环境变量

    sudo gedit /etc/profile 

      在文件最后添加:

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

      保存后, 执行下列命令, 使环境变量立即生效

    source /etc/profile
    

      同时需要添加lib库路径: 在 /etc/ld.so.conf.d/加入文件cuda.conf,

    sudo gedit /etc/ld.so.conf.d/cuda.conf
    

      添加内容:

    /usr/local/cuda/lib64
    

      保存后,执行下列命令使之立刻生效:

    sudo ldconfig
    

    7. 安装测试CUDA simples  

    cd /usr/local/cuda/samples
    sudo make all -j8
    

      其中-jx中x的数字代表几个线程同时编译,可以加快速度,x可以根据CPU核的个数决定。

    可能遇到的问题:/usr/bin/ld: cannot find -lGL

    原因:1. 缺少libGL库文件;2. link的问题。

    方案:

    1, 如果是缺少libGL库文件,可以先搜寻库文件安装包

    apt-cache search libGL-dev
    sudo apt-get install libGL-dev

    2, 先寻找link文件(.so),再根据寻找结果定位  

    locate libGL.so
    

      显示结果如下:

    /usr/lib/x86_64-linux-gnu/libGL.so
    /usr/lib/x86_64-linux-gnu/libGL.so.1
    /usr/lib/x86_64-linux-gnu/libGL.so.346.46
    /usr/lib/x86_64-linux-gnu/mesa/libGL.so
    

      链接文件:

    sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
    sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.46 /usr/lib/x86_64-linux-gnu/libGL.so
    

      其他问题解决方案类似。

      编译完成后进入samples/bin/x86_64/linux/release, 运行deviceQuery

    cd ./bin/x86_64/linux/release
    ./deviceQuery
    

      如果出现显卡信息, 则驱动及显卡安装成功。  

    8. 安装Intel MKL或Atlas

      如果没有Intel MKL, 可以用下列命令安装免费的atlas(我在安装过程中,使用MKL时,与caffe不兼容,于是直接使用了atlas!!!!)

    sudo apt-get install libatlas-base-dev
    

    当然使用Intel MKL会快一些,我在caffe社区也反映了兼容问题,现在已经解决。安装Intel MKL过程如下:

      a. 下载Intel MKL

      Intel MKL可以申请学生账号下载免费intelMKL   

      b. 解压安装包,下面有一个install_GUI.sh文件, 执行该文件sudo run intall_GUI.sh, 会出现图形安装界面,按说明安装即可。

      c. 安装完成后需要添加library路径, 创建/etc/ld.so.conf.d/intel_mkl.conf文件

    sudo vi /etc/ld.so.conf.d/intel_mkl.conf
    

      在文件中添加内容: 

    /opt/intel/lib
    /opt/intel/mkl/lib/intel64
    

      注意把路径替换成自己的安装路径

    sudo ldconfig
    

      

    9. OpenCV的下载安装

      a. 下载OpenCV(建议2.4 系列,3系列差别比较大)

      在https://github.com/bearpaw/Install-OpenCV 下载到本地。opencv版本2.4.10.

      b. 安装OpenCV

    sudo sh ./opencv_2_4_10.sh
    

      脚本会自动安装依赖项,下载安装包,编译并安装OpenCV。

    10. 安装Caffe所需要的Python环境

      a. 直接用系统自带的python就行了,可以通过以下命令查看python版本

    python --version
    

     确定使用的是anaconda提供的python环境,安装

    which python
    which pip
    apt-get install python-pip
    

      在用户自己的`~/.bashrc` 中添加library path

    LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    

    11. 安装matlab  

      下载matlab后,安装过程按照安装包里的要求做就可以了。(R2014a)

    sudo ./install
    

      备注1:安装完之后需要添加桌面图标,不然每次都需要到/usr/local/MATLAB/R2014a/bin中去 sudo ./matlab

      备注2:不要直接去软件中心下载matlab-support,尝试过,一直在installing,没有成功。

      备注3:MATLAB R2013a安装包,遇到过一堆乱七八糟其他问题,比如撞到83%说某个库不是exe什么的,最后换了个安装包和版本,一切顺利。

      备注4: ubuntu和mac下,对matlab进行激活时,输入用户名和密码,总是显示连接不到服务器,我们需要将防火墙(farewall)关掉。输入“sudo ufw disable”,然后进行激活,激活完成,"sudo ufw enable" 重启防火墙即可!

    12. 其他依赖项安装

      a. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

    tar zxvf glog-0.3.3.tar.gz
    ./configure
    make
    sudo make install
    

      如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R 

      b. 其他依赖项,确保都成功

    sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler
    

      

    13. 编译Caffe(终于到了激动人心的一刻)

      进入caffe根目录, 首先复制一份`Makefile.config`, 然后修改里面的内容,主要需要修改的参数包括

    • CPU_ONLY 是否只使用CPU模式,没有GPU没安装CUDA的同学可以打开这个选项
    • BLAS (使用intel mkl还是atlas),建议使用atlas,方便又快捷
    • MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为/usr/local/MATLAB/R2014a (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
    • DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序

    完成设置后, 开始编译

    make all -j8
    make test
    make runtest
    

      如果需要matlab wrapper

    make matcaffe
    

      如果需要python wrapper

    make pycaffe
    

      备注:如果有多个caffe包,一定要输出每一个的python路径。例如有caffe1和caffe2:

    export PYTHONPATH=your_caffe_path/caffe1/python:$PYTHONPATH
    export PYTHONPATH=your_caffe_path/caffe2/python:$PYTHONPATH
    

      

    14. 使用MNIST数据集进行测试

      Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。

      下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html

      a. 数据预处理

    sh data/mnist/get_mnist.sh
    

      b. 重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。

    sh examples/mnist/create_mnist.sh
    

      生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

      c. 训练mnist

    sh examples/mnist/train_lenet.sh
    

      至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。

  • 相关阅读:
    理解numpy.dot()
    Numpy数组操作
    numpy.rollaxis函数
    数组的分割
    数组的组合
    轴的概念
    Numpy数组解惑
    Django2.1.3 urls.py path模块配置
    ubuntu18.04创建虚拟环境时提示bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录 的解决办法
    对银行卡号进行验证(转)
  • 原文地址:https://www.cnblogs.com/kunyuanjushi/p/5947066.html
Copyright © 2020-2023  润新知