为了caffe(二)在ubuntu14.0464位(双显卡)下安装caffe+cuda7.5+opencv3.0+cudnn5.1
配置 联想笔记本G480 双显卡(intel集成显卡和N卡独立显卡GeForce
610M)
ubuntu14.0464位 cuda7.5 cudnn5.1 opencv3.0 +caffe
现在是2016年8月这个方法早晚失效 我因为看别人教程 安装过程中各个版本问题兼职要吐了 记录一下
目录:
步骤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设置为默认开启模式)再重启一下电脑就进了。
sudo stop lightdm
sudo apt-get install gdm
作者:快乐的猫
链接:https://www.zhihu.com/question/35249192/answer/108564240
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
其他解决办法:
我还在网上找到了很多其他的解决办法 例如1用run安装而不用deb安装,其间要选择不安装opengl(同样出自上面那个知乎网址)
2 用prime切换 3按的时候禁用nouveas 可是这就还要让我再重装一遍啊(重装系统吧,因为进不去GUI了)我都装到现在了,
另外:强烈推荐按照 步骤来 按顺序 特别是caffe一定要最后弄 (原因:caffe在makefile关系到前面的东西)
步骤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--
》
deb
(
local
)
注意
:我选择的是
deb
(
local
), 我觉得
deb
(
network
)联网安装 实在是不放心,
run
版本涉及到手动选择配置一些东西,我用不着,。
验证Cuda安装包
$
md5sum filename
推荐一定要验证一下
谨慎 以防万一
如果下载没出错,那得到的MD5序列号和那个页面中是一致的,否则只能重新下载。
步骤
3
安装
cuda
cd进cuda安装包所在的目录,执行以下命令
$
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
编译
cd进NVIDIA_CUDA-7.5_Samples中make:
$ 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...
CUDADevice Query (Runtime API) version (CUDART static linking)
Detected
1 CUDA Capable device(s)
Device
0: "GeForce 610M"
CUDADriver Version / Runtime Version 7.5 / 7.5
CUDACapability Major/Minor version number: 2.1
Totalamount of global memory: 1024 MBytes (1073479680bytes)
(1) Multiprocessors, ( 48) CUDA Cores/MP: 48 CUDA Cores
GPUMax Clock rate: 950 MHz (0.95 GHz)
MemoryClock rate: 900 Mhz
MemoryBus Width: 64-bit
L2Cache Size: 65536 bytes
MaximumTexture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65535),3D=(2048, 2048, 2048)
MaximumLayered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
MaximumLayered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048layers
Totalamount of constant memory: 65536 bytes
Totalamount of shared memory per block: 49152 bytes
Totalnumber of registers available per block: 32768
Warpsize: 32
Maximumnumber of threads per multiprocessor: 1536
Maximumnumber of threads per block: 1024
Maxdimension size of a thread block (x,y,z): (1024, 1024, 64)
Maxdimension size of a grid size (x,y,z): (65535, 65535, 65535)
Maximummemory pitch: 2147483647 bytes
Texturealignment: 512 bytes
Concurrentcopy and kernel execution: Yes with 1 copy engine(s)
Runtime limit on kernels: No
IntegratedGPU sharing Host Memory: No
Supporthost page-locked memory mapping: Yes
Alignmentrequirement for Surfaces: Yes
Devicehas ECC support: Disabled
Devicesupports Unified Addressing (UVA): Yes
DevicePCI Domain ID / Bus ID / location ID: 0 / 1 / 0
ComputeMode:
<Default (multiple host threads can use ::cudaSetDevice() with devicesimultaneously) >
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
cuDNN是GPU加速计算深层神经网络的库
注意
:这个因为
CUDNN要求GPUCUDA 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
请确保
cudnn
和
oepncv3.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 directory
1
解决方法是这样,将一些文件复制到/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 ldconfig
123
再次,尝试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要求GPUCUDA Capability 不小于3.0 (来自大神http://blog.csdn.net/eagelangel/article/details/50562065
),我的只有
2.1
,所以实际不能用
cudnn
。
只能禁用
cudnn
,再重新编译!!!
再
sudomake 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表示 确定安装 就不用再确定了
- sudo apt-get install build-essential -y