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

  • 相关阅读:
    linux引导系统
    Android开发面试经——2.常见Android基础笔试题
    Android开发面试经——1.常见人事面试问题
    Android面试题整理【转载】
    android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
    Android软键盘弹出时把布局顶上去的解决方法
    Android入门:绑定本地服务
    Android aidl Binder框架浅析
    Android LayoutInflater深度解析 给你带来全新的认识
    Android RecyclerView 使用完全解析 体验艺术般的控件
  • 原文地址:https://www.cnblogs.com/kanuore/p/6891726.html
Copyright © 2011-2022 走看看