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

  • 相关阅读:
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31
    知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31无涯 - I
  • 原文地址:https://www.cnblogs.com/fclbky/p/12855757.html
Copyright © 2011-2022 走看看