zoukankan      html  css  js  c++  java
  • ubuntu16.04+cuda8.0+cudnn5.0+caffe

    ubuntu安装过程(硬盘安装)http://www.cnblogs.com/zhbzz2007/p/5493395.html
    “但是千万不要用麒麟版!!!比原版体验要差很多!!!”
    开关机的时候电脑最上面 有一行 提示 一晃即过,/dev/sda6: clean(未知,单没关系)
    http://blog.csdn.net/xuezhisdc/article/details/48649575(意义)

    1、教程1
    http://blog.csdn.net/zwyjg/article/details/16371349

    2、教程2
    https://jingyan.baidu.com/article/e4d08ffdace06e0fd2f60d39.html

    注意点:
    1、划分分区时,只有交换分区不是主分区,其他分区都是主分区,分区格式都是EXT4
    2、引导器加载到boot分区(老式电脑)

      新式efi的电脑将引导器加载到efi分区!

    3、没有按照默认引导器安装,安装完成之后重启并不能进入ubuntu,再进到w7中,删除之前安装的添加条目,添加linux引导、oot分区
    (看到下面加的是C盘目录,不是很清楚,明明末尾磁盘安装的,不过在c盘下肯定有它的启动文件)
    分区详解http://blog.csdn.net/arcsinsin/article/details/17143163

    后续:
    无线驱动安装http://www.linuxdiyf.com/linux/27545.html
    能联网之后,开始配置环境

    第一步 先装显卡驱动,先装驱动,宾且屏蔽nouvea
      1、网上教程从官网下载安装包(装了几次,测试失败,但发现在纯命令行模式下--(笔记本fn+ctrl+alt+F1/返回F7),装驱动就想在window的dos状态,要先停用图形界面(sudo *** stop),不知道为什么,装好之后启用(sudo *** start) )
      2、从系统自带的驱动更新里更新,方便
    装完之后 测试
    sudo nvidia-smi
    安装成功的话,会显示显卡信息
    重启(装好nvidia的驱动之后,应该自动的屏蔽了linux自带的novea的驱动)

    第二步,装cuda,
      2.1的确需要从官网下载对应版本的安装包,最好放在在命令行模式下容易找到的地址
    运行 sudo sh ****.run
    不断 空格 跳过提醒
    输入:accept
    注意问题是否安装驱动时:n
    y/enter(默认) 一直下去

    中间会有警告:incomplete install,因为还有几个安装依赖(什么鬼),未安装
    运行
      2.2 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
    不出意外过程中还会有类似安装不成功的提示,不管它,反正也看不懂


      2.3更爱环境变量之类的东西,目前还是在纯命令行模式下,所以最好安装vim,用来更改环境变量
    sudo apt-get install vim
    sudo vi /etc/profile
    打开后添加
    export PATH=/usr/local/cuda-8.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

    sudo ldconfig立即生效,不出意外这里会报错,感觉应该是2.2的原因,解决方法
    sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
    sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
    sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
    sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
    注意版本号可能不同

    再来
    sudo idconfig 应该不会报错了
    重启

      2.4 测试
    nvcc -V应该会输出cuda的版本

    第三步 装cudnn

    (注意,不同版本的cuda配不同版本的cudnn,不然会发生训练不收敛!!!!)
    cuda8.0+cudnn5.1

    找到官网,注册帐号,下载对应版本的压缩文件,在任意路径下解压,当前文件夹运行终端
    udo cp cuda/include/cudnn.h /usr/local/cuda/include/
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
    sudo chmod a+r /usr/local/cuda/include/cudnn.h
    sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

    cudnn安装完成
    http://www.2cto.com/os/201607/528798.html

    ps:升级cudnn:

    cudnn 版本 :
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

    1、检测:

    cd /usr/local/cuda/lib64/

    ll

    2、删除原来的文件

    sudo rm -rf /usr/local/cuda/include/cudnn.h

    sudo rm -rf /usr/local/cuda/lib64/libcudnn
    3、安装安装需要版本的cudnn
    sudo cp include/cudnn.h /usr/local/cuda/include/

    sudo cp lib64/lib* /usr/local/cuda/lib64/

    4、不知道是不是建立连接

    sudo chmod a+r /usr/local/cuda/include/cudnn.h
    sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

    5、在更新cuda-9.0时,按照上述操作出现了这个错误:

    sudo ldconfig
    /sbin/ldconfig.real: /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7 不是符号连接

    然后按照博客里的方法,修正了:

     sudo ln -sf /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7.0.5 /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7 

    具体原因不明,感觉是连接的错误,但是在未卸载cuda-8.0的情况下,出现了cuda-8.0,cuda-9.0的文件夹,驱动似乎也是两个,怎么解决?

     

    第四部、opencvan安装(opencv的cmake应该跟window下的cmake相同,但他妈的要那么多依赖项???)

      4.1,安装依赖项(各种版本问题不同,ubuntu16.04)https://help.ubuntu.com/community/OpenCV

    sudo apt-get install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff5-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils

    下载对应版本的opencv3.2.0匹配cuda8.0
    解压到 /home,

    cd opencv3.2.0,

    mkdir build,

    cd build

    在此文件夹中:

      4.2.cmake:
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 ..

    我的中间出现这个问题
    qt问题解决
    I was able to solve this by using sudo apt-get install qt5-default

    注意查看这几项yes:
    -- Use Cuda: YES (ver 6.5)
    -- Use OpenCL: YES
    --
    -- NVIDIA CUDA
    -- Use CUFFT: YES
    -- Use CUBLAS: YES
    -- USE NVCUVID: NO
    -- NVIDIA GPU arch: 11 12 13 20 21 30 35
    -- NVIDIA PTX archs: 30
    -- Use fast math: YES

     

    ps:cuda-9.0重新编译OpenCV时,有两处要注意:

    1、cmake .. 选择构建选项时要:

    CUDA_GENERATION=Kepler
     2、编译的时候,更改cmake文件:
    http://blog.csdn.net/u014613745/article/details/78310916

      4.3、make编译

    make -j8 好长时间,近3个小时,不过还好这次编译没有出什么问题。

    sudo make install 编译之后安装

    sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'更改环境变量

    sudo ldconfig环境变量生效

    重启系统,重启系统后cd到build文件夹下:

    这一步可选,不建议,反正坏了总是要重装的。

    sudo apt-get install checkinstall
    sudo checkinstall
    执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。

    第五步,准备安装caffe
    纠结安装Matlab,还是安装python时,感觉两者都不会反正都要了解,以及空间大小就没有安装matlab

      5.1ubuntu16.04不知道本来就有python还是经过前面的安装,放正都已经有了python,所以只需要安装python的caffe依赖项就好了(什么鬼!)

    https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git pkg-config
    sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
    sudo apt-get install -y libatlas-base-dev
    sudo apt-get install -y--no-install-recommends libboost-all-dev
    sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
    sudo apt-get install -y python-pip
    sudo apt-get install -y python-dev
    sudo apt-get install -y python-numpy python-scipy

      5.2安装caffe
    http://blog.csdn.net/autocyz/article/details/52299889

      5.3测试(http://www.cnblogs.com/yymn/articles/5018623.html)
    mnist数据集测试

    d $CAFFE_ROOT
    ./data/mnist/get_mnist.sh
    ./examples/mnist/create_mnist.sh
    ./examples/mnist/train_lenet.sh | tee res.out

    竟然出现了问题!妈卖批的!!!!!!!!!!!!
    Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH
    !!!!!!!!!!!!!我日,我不白装了,装了半天,还没有超能云上的虚拟机好
    官方的cudnn加速是不支持3.0以下的版本的,因此只能在Makefile.config中注释掉USE_CUDNN这行,重新执行以下

    还有几个命令不知道(http://blog.csdn.net/autocyz/article/details/52299889)
    make all -j8
    make runtest
    make pycaffe
    make matcaffe

    番外片:faster-rcnn
    http://www.cnblogs.com/CarryPotMan/p/5390336.html
    http://www.voidcn.com/blog/a125930123/article/p-6215083.html
    感觉应该是confile没有配置好,已经下载了supervessl的makefile文件详细研究一下
    py-R-FCN use Microsoft-version Caffe which is compatible with cudnn 5.后面要考虑升级cudnn5

      1、首先down"faster-rcnn-caffe"(我也记不清安装了那些依赖了)

    参考:http://blog.csdn.net/nicky_lyu/article/details/53181434

    不过依赖项的第二步肯定做了,我是这么做的:
    sudo apt-get install python-opencv
    sudo pip install cython easydict
    不过感觉少安装了一些依赖项
    所以之后就一直报错!!!!

      2、编译Cython模块(什么鬼)
    $ cd py-faster-rcnn/lib
    $ make

      3编译caffe和pycaffe
    (这里报了一点错误)

    修改Makefile文件
      3.1、(经验,因为自己的cudnn不能用)注释了use_cudnn=1编译通过

      3.2、(反正报了一些python的错误)
    cuda8.0有关makeconfig的更改:
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ and
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

    在py-caffe/faster-caffe下
      3.3(报了什么错,有关tk的)sudo apt-get install python-tk
    cd $FRCN_ROOT/caffe-fast-rcnn

      3.4(No module named 'yaml' #)
    sudo apt-get install python-yaml

    make -j8

    编译通过

    make test
    有个layer.vision的错误,把报错文件的这个头文件注释就好

    make runtest
    这一步只在云上跑过,时间好长,并没出错,可以略去

    make pycaffe
    应该是编译出一些python的东西


    4、运行(运行过程中各种错误,不过还好有google!(其实上面有些应该是运行中报的错吧!))
      4.1下载模型
    一般是使用其他浏览器下载,放置py-caffe的data中(新建fasterrcnnmodels)中

      4.2
    ./tools/demo.py
    Check failed: error == cudaSuccess (8 vs. 0) invalid device function
    NMS注意(什么鬼)/lib/fast_rcnn/config.py第205行,把__C.USE_GPU_NMS = Ture改成__C.USE_GPU_NMS = False

    番外片
    原来github在远程发生更改后要:
    git pull origin master
    (感觉云端与本地保持同步的意思!)
    然后才能上传
    git push origin master

    notepad(语言调节)
    http://shouce.jb51.net/notepad_book/npp_func_code_hl.html

    make test 错误(这个命令是什么鬼)
    http://hammer2505.cn/2016/10/16/deeplearning1/
    运行好长时间!!!!!!!!!

    黑屏(猜测显卡冲突)
    https://my.oschina.net/eechen/blog/227134

  • 相关阅读:
    CodeForces 347B Fixed Points (水题)
    CodeForces 347A Difference Row (水题)
    CodeForces 346A Alice and Bob (数学最大公约数)
    CodeForces 474C Captain Marmot (数学,旋转,暴力)
    CodeForces 474B Worms (水题,二分)
    CodeForces 474A Keyboard (水题)
    压力测试学习(一)
    算法学习(一)五个常用算法概念了解
    C#语言规范
    异常System.Threading.Thread.AbortInternal
  • 原文地址:https://www.cnblogs.com/kanuore/p/6891726.html
Copyright © 2011-2022 走看看