为了caffe(二)在ubuntu14.0464位(双显卡)下安装caffe+cuda7.5+opencv3.0+cudnn5.1

为了caffe(二)在ubuntu14.0464位(双显卡)下安装caffe+cuda7.5+opencv3.0+cudnn5.1

配置  联想笔记本G480 双显卡(intel集成显卡和N卡独立显卡GeForce610M

ubuntu14.0464位 cuda7.5   cudnn5.1   opencv3.0  +caffe



现在是20168月这个方法早晚失效        我因为看别人教程   安装过程中各个版本问题兼职要吐了  记录一下 


目录:

双显卡注意

步骤 0 验证是否满足安装条件

步骤1安装依赖库

步骤2下载cuda7.5
步骤3安装cuda
步骤4  安装例程
步骤5安装opencv3.0
步骤6 安装cudnn5.1
步骤7安装 caffe   




双显卡注意 我的G480笔记本有intel集成显卡和N卡独立显卡,

负责GUI界面的是集成显卡,他在安装cuda的过程中被+屏蔽了 

导致之后的重启会黑屏 后面会解决这个问题 ,(没用网上提到的那个nouveas方法,太复杂了!!!,)

注意:网上有提到一定要禁用这个nouveas才行,涉及到linux显卡驱动啥的????可我还是没用

(安好cuda后我重启了一下,无法进入图形界面,我都听见那个登录界面的声音了,可就是黑屏,只能Ctrl+atl+F1进入tty界面,,造成这个问题的原因是  ( 我的G480笔记本有intel集成显卡和N卡独立显卡,负责GUI界面的集成显卡,他在安装cuda的过程中被+屏蔽了  )

解决办法是:来自知乎大神  https://www.zhihu.com/question/35249192/answer/61880911 安装gdm



如果你很不幸的进不了Ubuntu GUI界面,就按ctrl+shift+F1进入命令行界面,然后输入以下命令先停掉lightdm,然后安装gdm(把gdm设置为默认开启模式)再重启一下电脑就进了。  

  1.   

  2. sudo stop lightdm  

  3. sudo apt-get install gdm  

  4.   

  5. 作者:快乐的猫  

  6. 链接:https://www.zhihu.com/question/35249192/answer/108564240  

  7. 来源:知乎  

  8. 著作权归作者所有,转载请联系作者获得授权。  







其他解决办法:

我还在网上找到了很多其他的解决办法  例如1run安装而不用deb安装,其间要选择不安装opengl(同样出自上面那个知乎网址)

2 prime切换 3按的时候禁用nouveas 可是这就还要让我再重装一遍啊(重装系统吧,因为进不去GUI了)我都装到现在了,






另外:强烈推荐按照 步骤来 按顺序 特别是caffe一定要最后弄 (原因:caffemakefile关系到前面的东西)


步骤0验证是否满足安装条件



    验证你的gpu支持是否支持Cuda
    打开支持Cuda运算的Gpu列表,只要你的GPU在里面找得到就没问题

$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) 
    我查到了GeForce 610M 它的Compute
    	Capability 2.1 ,不到3,所以不能用cudnn,这个后面会讲到,也会安装cudnn(虽然不能用)



  • 确认你的系统是X86架构,可通过下面的命令查询 必须是x86_64


$ uname -m && cat /etc/*release
x86_64 
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=14.04 
DISTRIB_CODENAME=trusty 
DISTRIB_DESCRIPTION="Ubu



  • 安装gccUbuntu 14.04已经自带gcc4.8.4,无需自行下载,检查gcc版本可通过如下方法:


$ gcc --version

注意:网上有人推荐升级到gcc4.9    我觉得不对我看官网文档里推荐的就是gcc4.8版本的  不推荐升级



步骤1

安装依赖库

安装一些基本依赖项:

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev



我是先卸载已有N卡驱动, (就算觉得这是新电脑没装过驱动可以不用做这个,也推荐做一下这, 以防万一啊)

sudo apt-get remove --purge nvidia*
注意:这里卸载了就不需要 再手动安装了 后面的安装cuda会安装驱动,网上有说手动安装的,我不推荐。

步骤2
下载cuda7.5
地址 https://developer.nvidia.com/cuda-toolkit
 
现在的版本是7.5版 , 进入下载页面,选择linux
 --x86_64 --ubuntu
--》》14.04--deblocal

注意:我选择的是deblocal), 我觉得debnetwork)联网 安装 实在是不放心, run版本涉及到手动选择配置一些东西,我用不着,。

验证Cuda安装包

$ md5sum filename
推荐一定要验证一下 谨慎 以防万一

如果下载没出错,那得到的MD5序列号和那个页面中是一致的,否则只能重新下载。





步骤3 安装cuda

cdcuda安装包所在的目录,执行以下命令

$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
  • 添加环境变量

$ sudo gedit /etc/profile
# 在末尾添加(注意自己的Cuda版本):
# export PATH=/usr/local/cuda-7.5/bin:$PATH
# export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
$ source /etc/profile
$ sudo reboot

查看GPU驱动版本、Cuda版本:正常安装的话,会出现版本信息,如果没出现说明安装出错,

$ cat /proc/driver/nvidia/version
dong@dong-Lenovo-G480:~$
cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63 Sat Nov 7 21:25:42 PST 2015 
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 


$ nvcc -V
dong@dong-Lenovo-G480:~$ nvcc -V 
nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2015 NVIDIA Corporation 
Built on Tue_Aug_11_14:27:32_CDT_2015 
Cuda compilation tools, release 7.5, V7.5.17 



步骤4 安装例程
cuda-install-samples-7.5.sh ~/cuda

编译
cdNVIDIA_CUDA-7.5_Samplesmake:

$ cd ~/cuda/NVIDIA_CUDA-7.5_Samples
$ make
# 编译结果在 ~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release


执行编译结果,确认安装配置

$ cd
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/deviceQuery


dong@dong-Lenovo-G480:~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release$
./deviceQuery
./deviceQuery Starting... 
 
 CUDA Device Query (Runtime API) version (CUDART static linking) 
 
Detected 1 CUDA Capable device(s) 
 
Device 0: "GeForce 610M" 
 CUDA Driver Version / Runtime Version 7.5 / 7.5 
 CUDA Capability Major/Minor version number: 2.1 
 Total amount of global memory: 1024 MBytes (1073479680 bytes) 
 ( 1) Multiprocessors, ( 48) CUDA Cores/MP: 48 CUDA Cores 
 GPU Max Clock rate: 950 MHz (0.95 GHz) 
 Memory Clock rate: 900 Mhz 
 Memory Bus Width: 64-bit 
 L2 Cache Size: 65536 bytes 
 Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048) 
 Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers 
 Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 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: 32768 
 Warp size: 32 
 Maximum number of threads per multiprocessor: 1536 
 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): (65535, 65535, 65535) 
 Maximum memory pitch: 2147483647 bytes 
 Texture alignment: 512 bytes 
 Concurrent copy and kernel execution: Yes with 1 copy engine(s) 
 Run time limit on kernels: No 
 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 = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce 610M 
Result = PASS 

bandwidthTest确认

 $ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/bandwidthTest

dong@dong-Lenovo-G480:~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release$
./bandwidthTest 
[CUDA Bandwidth Test] - Starting... 
Running on... 
 

Device 0: GeForce 610M 

Quick Mode 
 

Host to Device Bandwidth, 1 Device(s) 

PINNED Memory Transfers 

  Transfer Size (Bytes) Bandwidth(MB/s) 

  33554432 6446.0 
 

Device to Host Bandwidth, 1 Device(s) 

PINNED Memory Transfers 

  Transfer Size (Bytes) Bandwidth(MB/s) 

  33554432 6428.6 
 

Device to Device Bandwidth, 1 Device(s) 

PINNED Memory Transfers 

  Transfer Size (Bytes) Bandwidth(MB/s) 

  33554432 12653.3 
 
Result = PASS 
 
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled. 

步骤5安装 opencv3.0

先用了网上某个大神的方法 试着安装2.4版本oepncv, 听说是非常简单   但是

    我在sudo ./opencv2_4_10.sh时,命令行出现很多绿色字体,GUI界面卡死  

 失败了!


那换方法,我又手动装了oepncv3.0    http://blog.csdn.net/u013915633/article/details/49886465



步骤6 安装cudnn5.1
cuDNNGPU加速计算深层神经网络的库
注意:这个因为CUDNN要求GPU CUDA Capability 不小于3.0 ( 来自大神 http://blog.csdn.net/eagelangel/article/details/50562065),我的只有2.1,所以实际不能用cudnn
,我怎么知道不行的,我后面才知道的,
现在还是先安了再说,仅仅是记录了

下载cudnn
  
https://developer.nvidia.com/cudnn(网上好多人说,注册以后还要一两天才能下载,,我不是,我注册完了直接就能下载了)
我下载了 cudnn-7.5-linux-x64-v5.1.tgz

安装在终端中切换到文件所在文件夹,输入下面指令:

$ sudo tar xvf cudnn-7.0-linux-x64-v4.0-prod.tgz
$ cd cuda/include
$ sudo cp *.h /usr/local/include/
$ cd ../lib64
$ sudo cp lib* /usr/local/lib/
$ cd /usr/local/lib
$ sudo chmod +r libcudnn.so.4.0.4
$ sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4
$ sudo ln -sf libcudnn.so.4 libcudnn.so
$ sudo ldconfig

注意(我安装的是libcudnn.so.4.0.7,跟上面的例子对应就好,,,,上面的版本号要自己对应)







步骤7安装 caffe   
请确保cudnnoepncv3.0
都安装完成了 再进行这一步

Caffe下载
直接从github下载最新版本,下载前切换到home目录

$ cd ~
$ git clone git://github.com/BVLC/caffe.git
  • 编译Caffe

$ cd ~/caffe
$ cp Makefile.config.example Makefile.config

# 修改Makefile.config文件:

# 如果安装了Opencv3.0,去掉 
OPENCV_VERSION := 3的注释

# 如果安装了cudnn,去掉 
USE_CUDNN := 1 的注释

注意:这里还可能 与BLAS有关,先标注下


保存后重新编译:
 
注意:::caffe需要一个BLAS。。。BLAS有3钟种选择,1 ATLAS 2 MKL 3 openBLAS 
 

$ sudo make clean(第一次编译不用这个,之后重新编译时候用)
$ sudo make all
$ sudo make test 
$ sudo make runtest 

本人编译的时候最后一步的时候,出现这样的错误:

libcudart.so.7.5 cannot open shared object file: No such file or directory1



解决方法是这样,将一些文件复制到/usr/local/lib文件夹下:

$ sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig123

再次,尝试sudomake runtest命令,出现如下:

显示很多绿色的RUN

注意:这里出现问题

F0823 12:59:13.293607 16025cudnn_tanh_layer.cpp:13] Check failed: status == CUDNN_STATUS_SUCCESS(6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH

*** Check failure stack trace: ***

@ 0x2b7d843c9daa (unknown)

@ 0x2b7d843c9ce4 (unknown)

@ 0x2b7d843c96e6 (unknown)



这就是上文说的

这个因为CUDNN要求GPU CUDA Capability 不小于3.0 ( 来自大神 http://blog.csdn.net/eagelangel/article/details/50562065),我的只有2.1,所以实际不能用cudnn

只能禁用cudnn,再重新编译!!!
sudo make runtest

很多很多绿色的 RUN OK   最后是
[
RUN      ] ConvolutionLayerTest/1.TestGradient3D
[
      OK ] ConvolutionLayerTest/1.TestGradient3D (450 ms)
[----------]
15 tests from ConvolutionLayerTest/1 (1390 ms total)

[----------]
Global test environment tear-down
[==========]
2021 tests from 267 test cases ran. (593012 ms total)
[
 PASSED  ] 2021 tests.

至此,caffe安装完成。

最后注意: 上面没有写到python    没有 写到mnist








附录:
1
caffe需要一个BLAS。。。BLAS有3钟种选择,1 ATLAS 2 MKL 3 openBLAS 
 我好像选了BLAS?????? 我不明白
 这个好像是一个运算库吧,可以加速运算什么,那个MKL性能最好,我用的是 前面安装依赖项的时候就着按了 atlas
2
vi编辑的时候   更进入vi以后 用i表示插入      (但是在vi里面删除功能真烂)
3
 dpkg是软件管理系统 管理deb文件
       -i表示安装
第4 下面命令里 -y表示 确定安装 就不用再确定了

  
  
  
  
  1. sudo apt-get install build-essential -y  

你可能感兴趣的:(为了caffe(二)在ubuntu14.0464位(双显卡)下安装caffe+cuda7.5+opencv3.0+cudnn5.1)