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引导、\boot分区

(看到下面加的是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