zoukankan      html  css  js  c++  java
  • Faster-rcnn centos tensorflow

    一、安装NVIDIA驱动
    首先去官网查适合自己的GPU驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)

     

    在Product Type一栏选择自己的产品类型,其它的类型也相应选择,上图是博主的GPU的相关信息。填写完成后,点击右边的SEARC按钮,会出现以下的界面,以下界面主要关注Version,这个是后面安装驱动需要用的数据。

    安装之前先卸载已经存在的驱动版本:

    sudo apt-get remove --purge nvidia*

    若电脑是集成显卡(NVIDIA独立显卡忽略此步骤),需要在安装之前禁止一项:

    sudo service lightdm stop

    执行如下语句安装:

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    sudo apt-get install nvidia-410 #注意在这里指定自己的驱动版本!
    sudo apt-get install mesa-common-dev
    sudo apt-get install freeglut3-dev
    执行完上述后,重启(reboot)。

    重启后输入: sudo nvidia-smi

    如果出现了你的GPU列表,如下,则说明驱动安装成功了。

    另外也可以通过

    nvidia-settings
    查看自己机器上详细的GPU信息,博主机器的信息如下:

    二、安装CUDA
    cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda

    CUDA下载地址:https://developer.nvidia.com/cuda-downloads

     下载完cuda8.0后,去对应的目录,执行如下语句,运行runfile文件:

    sudo sh cuda_8.0.61_375.26_linux.run
    执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia375驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia410,所以这里不要选择安装。其余的都直接默认或者选择是即可。 

    Do you accept the previously read EULA? (accept/decline/quit):
    这里选择acceot
    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.37? ((y)es/(n)o/(q)uit):
    这里选择NO(n)
    然后剩下出现的都是确认使用默认目录 ENTER 或者是 YES (y),然后就等着安装吧,很快就会好
    安装成功后会出现如下界面: 

    安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部: 

    打开~/.bashrc文件:

    sudo vim ~/.bashrc

    将以下内容写入到~/.bashrc尾部:

    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

    export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    三、测试cuda的Samples
    cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
    sudo make
    sudo ./deviceQuery
    如果显示以下关于GPU的信息,则说明安装成功了。 

    ./deviceQuery Starting...

    CUDA Device Query (Runtime API) version (CUDART static linking)

    Detected 1 CUDA Capable device(s)

    Device 0: "GeForce GTX 1080 Ti"
    CUDA Driver Version / Runtime Version 10.0 / 8.0
    CUDA Capability Major/Minor version number: 6.1
    Total amount of global memory: 11175 MBytes (11718230016 bytes)
    (28) Multiprocessors, (128) CUDA Cores/MP: 3584 CUDA Cores
    GPU Max Clock rate: 1658 MHz (1.66 GHz)
    Memory Clock rate: 5505 Mhz
    Memory Bus Width: 352-bit
    L2 Cache Size: 2883584 bytes
    Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
    Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
    Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
    Total amount of constant memory: 65536 bytes
    Total amount of shared memory per block: 49152 bytes
    Total number of registers available per block: 65536
    Warp size: 32
    Maximum number of threads per multiprocessor: 2048
    Maximum number of threads per block: 1024
    Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
    Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
    Maximum memory pitch: 2147483647 bytes
    Texture alignment: 512 bytes
    Concurrent copy and kernel execution: Yes with 2 copy engine(s)
    Run time limit on kernels: Yes
    Integrated GPU sharing Host Memory: No
    Support host page-locked memory mapping: Yes
    Alignment requirement for Surfaces: Yes
    Device has ECC support: Disabled
    Device supports Unified Addressing (UVA): Yes
    Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
    Compute Mode:
    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1080 Ti
    Result = PASS
    四、cudnn安装
    cuDNN是GPU加速计算深层神经网络的库。
    首先去官网下载(https://developer.nvidia.com/rdp/cudnn-download)你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)
    下载完cudnn5.1之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:

    sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
    再将cd进入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 #生成软链接

    五、 opencv3.1安装
    opencv3.1.0下载地址:https://opencv.org/releases.html

    下载对应版本的source(source是对应的linux版本)

    并将其解压到你要安装的位置,假设解压到了/home/root1,其中root1是博主使用的用户名字,同时我将解压后的文件改名为opencv(可以不用改名)。

    首先安装需要的依赖项。

    sudo apt-get install build-essential
    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    在终端中cd到opencv文件夹下,然后 

    mkdir build #新建一个build文件夹,编译的工程都在这个文件夹里
    cd build/
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
    cmake成功后,会出现如下结果,提示配置和生成成功:

    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/ise/software/opencv-3.1.0/build
    然后make编译就可以了

    make -j8
     编译最后可能出现以下错误:'modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all' failed[5]
    这是由于CUDA 8.0不支持OpenCV的 GraphCut算法引起的

    解决办法:

    修改 ~/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp文件 
    把第45行修改成:

    #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

    即在 #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 加上 || (CUDART_VERSION >= 8000)

    重启系统,重启系统后cd到build文件夹下:(这一步可以不做)

    sudo apt-get install checkinstall
    sudo checkinstall
    然后按照提示安装就可以了。
    使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
    执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。


    感谢: https://blog.csdn.net/qq_34809033/article/details/83830168

  • 相关阅读:
    【转】myeclipse设置优化+快捷命令大全
    记昨日参加南天竺饶老师回访的一些感触点
    [zz]程序猿,你今天装B了没?
    什么是CGI
    Agile Tour——敏捷,在厦门落地 笔记小结
    用按键精灵来自动投票
    win7下安装matlab,启动后提示VC++Runtime Library错误 runtime error!
    单次扫描完成二值图连通区域标记
    6.3.2 最小支撑树树Prim算法,基于优先队列的Prim算法,Kruskal算法,Boruvka算法,“等价类”UnionFind
    用Java HashMap做对象Cache时要注意一点
  • 原文地址:https://www.cnblogs.com/fclbky/p/12855757.html
Copyright © 2011-2022 走看看