zoukankan      html  css  js  c++  java
  • caffe环境配置

    参考:http://blog.csdn.net/enjoyyl/article/details/47397505

    http://blog.csdn.net/baobei0112/article/details/77996369

    0.检查你的电脑是否支持CUDA: 
    检查GPU是否支持:输入如下命令,如果输出的GPU型号是NVIDIA的,并且在此http://developer.nvidia.com/cuda-gpus列表内,则支持。

    lspci | grep -i nvidia

    第1步 安装依赖包

    安装后续步骤或环境必需的依赖包,依次输入以下命令:

    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 libopenblas-dev liblapack-dev libatlas-base-dev
    
    sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    
    sudo apt-get install git cmake build-essential
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:

     sudo apt-get install git cmake build-essential 
    • 1

    界面提示如下则说明已成功安装依赖包,否则继续安装直到安装成功。

    yhao@yhao-X550VB:~$ sudo apt-get install git cmake build-essential
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    build-essential 已经是最新版 (12.1ubuntu2)。
    cmake 已经是最新版 (3.5.1-1ubuntu3)。
    git 已经是最新版 (1:2.7.4-0ubuntu1.1)。
    下列软件包是自动安装的并且现在不需要了:
      lib32gcc1 libc6-i386
    使用'sudo apt autoremove'来卸载它(它们)。
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 94 个软件包未被升级。
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    第2步 禁用 nouveau

    安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:

    sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
    • 1

    打开后发现该文件中没有任何内容,写入:

    blacklist nouveau option nouveau modeset=0 
    • 1

    保存时命令窗口可能会出现以下提示:

    ** (gedit:4243): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position
    
    • 1
    • 2

    无视此提示~,保存后关闭文件,注意此时还需执行以下命令使禁用 nouveau 真正生效:

    sudo update-initramfs -u
    • 1

    第3步 配置环境变量

    同样使用 gedit 命令打开配置文件:

    sudo gedit ~/.bashrc
    
    • 1
    • 2

    打开后在文件最后加入以下两行内容:

    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
    
    export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
    • 1
    • 2
    • 3

    保存退出。

    第4步 下载 CUDA 8.0


    在官网下载的deb安装包,9.0版。

    第5步 安装 CUDA 8.0

    2.安装依赖工具:需要连网。

    # installation of required tools
    sudo apt-get install -y gcc g++ gfortran build-essential 
      git wget linux-image-generic libopenblas-dev python-dev 
      python-pip python-nose python-numpy python-scipy
    • 1
    • 2
    • 3
    • 4

    3.安装CUDA

    # installing CUDA
    sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb
    
    sudo apt-get update
    sudo apt-get install cuda
    • 1
    • 2
    • 3
    • 4
    • 5

    4.设置环境变量

    注意:此环境变量为64位系统下的,32位的把lib64改成lib即可。

    方式1,仅修改用户变量

    # setting the environment variables so CUDA will be found
    
    echo "
    export PATH=/usr/local/cuda-7.0/bin:$PATH" >> ~/.bashrc
    echo "
    export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
    • 1
    • 2
    • 3
    • 4

    方式2,修改所有用户变量 
    先使用sudo gedit /etc/profile打开“profile”文件,或者sudo gedit ~/.bashrc打开“./bashrc”文件,然后在打开的文件的末尾添加如下代码并保存

    # setting the environment variables so CUDA will be found
    # After open profile, Add follow code at the end of file
    export PATH=/usr/local/cuda-7.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
    • 1
    • 2
    • 3
    • 4

    5.加载新的环境变量:添加好环境变量后,需要加载新的环境变量,才能应用于系统。

    加载更新环境变量source ~/.bashrc(方式1),source /etc/profilesource ~/.bashrc(方式2)。

    =====重启系统!重启系统!重启系统!=======

    sudo reboot

    安装cuda sample

    进入/usr/local/cuda/samples, 执行下列命令来编译samples

    sudo make all -j4

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

    ./deviceQuery

    如果显示Result = PASS则说明安装成功,如果无法显示显卡信息,可以执行sudo reboot 命令重启再测试一下。

    http://www.jianshu.com/p/20f8d9233075

    第6步 验证 CUDA 8.0 是否安装成功

    分别执行以下命令:

    cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
    
    sudo make
    
    ./deviceQuery
    • 1
    • 2
    • 3
    • 4
    • 5

    若看到类似以下信息则说明 cuda 已安装成功:

    ./deviceQuery Starting...
    
     CUDA Device Query (Runtime API) version (CUDART static linking)
    
    Detected 1 CUDA Capable device(s)
    
    Device 0: "GeForce GT 740M"
      CUDA Driver Version / Runtime Version          8.0 / 8.0
      CUDA Capability Major/Minor version number:    3.5
      Total amount of global memory:                 2004 MBytes (2100953088 bytes)
      ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
      GPU Max Clock rate:                            1032 MHz (1.03 GHz)
      Memory Clock rate:                             800 Mhz
      Memory Bus Width:                              64-bit
      L2 Cache Size:                                 524288 bytes
    。。
    Result = PASS


    第7步 安装 cudnn

    登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录,不想注册的可从我的网盘下载:https://pan.baidu.com/s/1c2xPVzy

    这里写图片描述

    载完成后解压,得到一个 cudn 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:

    sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
    • 1

    然后命令行进入 cudn/lib64 路径下,运行以下命令:

    sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
    cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
    sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接
    sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
    • 1
    • 2
    • 3
    • 4

    这里需要注意第三行命令,网上有人的第三行命令为:

    sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
    • 1

    起初我执行的也是上条链接 libcudnn.so.5.1.5 的命令,但是后面编译caffe时出错,报错内容为 /usr/bin/ld: 找不到 -lcudnn,所以这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:

    locate libcudnn.so
    • 1

    我执行完后显示如下:

    yhao@yhao-X550VB:~$ locate libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so.5 /home/yhao/.local/share/Trash/files/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.5.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.trashinfo /home/yhao/cuda/lib64/libcudnn.so /home/yhao/cuda/lib64/libcudnn.so.5 /home/yhao/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so /usr/local/lib/libcudnn.so.5

    可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。

    安装完成后可用 nvcc -V 命令验证是否安装成功,若出现以下信息则表示安装成功:

    yhao@yhao-X550VB:~$ nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2016 NVIDIA Corporation
    Built on Tue_Jan_10_13:22:03_CST_2017
    Cuda compilation tools, release 8.0, V8.0.61

    第8步 安装 opencv3.1

    进入官网 : http://opencv.org/releases.html , 选择 3.3.1 版本的 source , 下载 opencv-3.3.1.zip 
    这里写图片描述

    解压到你要安装的位置,命令行进入已解压的文件夹 opencv-3.3.1 目录下,执行:

    mkdir build # 创建编译的文件目录
    
    cd build
    
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    make -j8  #编译

    编译运行到37%时出现错误,改成(http://blog.csdn.net/sysuwuhongpeng/article/details/45485719)
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
    make -j8  #编译
     

     

  • 相关阅读:
    JQuery中的动画
    javascript之变量、作用域、作用域链
    正确理解javascript的this关键字
    我忽略了的DOCTYPE!
    JQuery中的DOM操作
    发布一款html5移动端scroll框架:xScroll
    在debug时使Flutter中的print打印json数据时更美观易读
    使用ValueListenableBuilder监听TextEditingController
    Flutter使用rxdart和ChangeNotifier实现的倒计时按钮
    Flutter设计一个长按自动步进的按钮
  • 原文地址:https://www.cnblogs.com/vactor/p/7816149.html
Copyright © 2011-2022 走看看