基于ubuntu14.04 cuda7.5 cudnn5.1caffe 配置

来源:互联网 发布:电气硬件 软件是什么 编辑:程序博客网 时间:2024/05/22 00:51

       基于ubuntu14.04 cuda7.5 cudnn5.1 caffe 配置

1.  软硬件条件:

双显卡(intel & NVIDIA GTX960m)

Win10 & Ubuntu14.04 双系统

2.  安装步骤:

安装配置主要包括:CUDA CUDNN  OPENCV CAFFE

参考:CUDA CAFFE 的官网文档(**************很重要)

若干博客:

http://blog.csdn.net/yhl_leo/article/details/50961542

http://blog.csdn.net/c_qianbo/article/details/51386377

http://www.cnblogs.com/denny402/p/5067265.htmls

建议在ubuntu14.04下配置caffe

 

先前准备 添加依赖库:

sudo apt-get install build-essential    

sudo apt-get install libprotobuf-devlibleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-devlibgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

 

安装NVIDIA显卡驱动,我是先卸载已有版本,再安装,卸载方法:

sudo apt-get remove --purge nvidia*

重启后登录时,可能会循环出现填写登录密码,不能进入系统的情况,按Ctrl+Alt+F1,登录,安装显卡驱动:

$ sudo apt-get install nvidia-current

 

 

此外:

若在ubuntu下载caffec    cuda   cudnn opencv较慢可转到windows用迅雷加速下载在ubuntu访问windows盘copy即可

本人按此文档遇到错误较少,若遇到错误建议查看上面的博客以及GOOGLE解决

 

2.1安装cuda

装CUDA有两种方法,
离线.run安装,deb在线/离线安装(*************对于如何安装官网有详细的文档说明)
在线安装网速较慢 ,故选择离线.deb安装(即下载deb(local)文件,离线安装也需要联网)
安装之前请先进行md5校验,确保下载的安装包完整

md5sum   包名

得到的校验码,在官网的检验码文档中查询是否有次检验码


切换到下载的deb所在目录,执行下边的命令(官网也有安装命令)
sudo dpkg -icuda-repo-<distro>_<version>_<architecture>.deb  
sudo apt-get update  
sudo apt-get install cuda  
然后重启电脑:sudo reboot

 

解决cude.deb(network) 安装提示未找到软件包 cuda 

系统设置-软件和更新-其他软件  勾选nvidia 

然后 sudo apt-get update

sudo apt-get install cuda

 

解决E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)

E: 无法对目录 /var/lib/apt/lists/ 加锁

E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

E: 无法锁定管理目录(/var/lib/dpkg/)

只需执行:

sudo rm /var/lib/apt/lists/lock

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

 

解决程序卡死 alt ctrl F1  

ps aux

kill 编号

alt +crtl +F7

 

安装完cuda:

sudo vi /etc/profile  添加如下

$ 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

验证:

nvcc-V

 

同时需要添加lib库路径:/etc/ld.so.conf.d/加入文件cuda.conf,内容如下
/usr/local/cuda/lib64  
保存后,执行下列命令使之立刻生效
sudo ldconfig

2.2安装Cudnn

安装Cudnn:

下载cudnn(注册nvidia账号即可从官网下载)

下载版本: cudnn-7.0-linux-x64-v4.0(根据个人情况选择适合版本)

执行以下:

$ 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.5.1.3

$ sudo ln -sf libcudnn.so.5.1.3 libcudnn.so.5

$ sudo ln -sf libcudnn.so.5 libcudnn.so

$ sudo ldconfig

(我安装的是libcudnn.so5.1.3,跟上面的例子对应就好)

 

安装CUDA SAMPLE
进入/usr/local/cuda/samples,执行下列命令来build samples
sudo make all
整个过程大概10分钟左右,全部编译完成后,进入samples/bin/x86_64/linux/release,运行deviceQuery
./deviceQuery  
如果出现显卡信息,则驱动及显卡安装成功:
./deviceQuery Starting...  
  
 CUDA Device Query(Runtime API) version (CUDART static linking)  
  
Detected 1 CUDA Capable device(s)  
  
Device 0: "GeForce GTX 670" 
  CUDA Driver Version /Runtime Version          6.5 / 6.5  
  CUDA CapabilityMajor/Minor version number:    3.0  
  Total amount ofglobal memory:                 4095MBytes (4294246400 bytes)  
  ( 7) Multiprocessors,(192) CUDA Cores/MP:     1344 CUDA Cores  
  GPU Clock rate:                              1098 MHz (1.10 GHz)  
  Memory Clock rate:                           3105 Mhz  
  Memory Bus Width:                            256-bit  
  L2 Cache Size:                               524288 bytes  
  Maximum TextureDimension Size (x,y,z)         1D=(65536), 2D=(65536,65536), 3D=(4096, 4096, 4096)  
  Maximum Layered 1DTexture Size, (num) layers  1D=(16384), 2048 layers  
  Maximum Layered 2DTexture Size, (num) layers  2D=(16384, 16384), 2048 layers  
  Total amount ofconstant memory:               65536 bytes 
  Total amount ofshared memory per block:       49152 bytes  
  Total number ofregisters available per block: 65536  
  Warp size:                                   32  
  Maximum number ofthreads per multiprocessor:  2048  
  Maximum number ofthreads per block:           1024  
  Max dimension size ofa thread block (x,y,z): (1024, 1024, 64)  
  Max dimension size ofa grid size    (x,y,z): (2147483647, 65535, 65535)  
  Maximum memory pitch:                        2147483647 bytes  
  Texture alignment:                           512 bytes  
  Concurrent copy andkernel execution:          Yes with 1 copy engine(s) 
  Run time limit onkernels:                    Yes  
  Integrated GPUsharing Host Memory:            No  
  Support hostpage-locked memory mapping:       Yes  
  Alignment requirementfor Surfaces:            Yes  
  Device has ECCsupport:                       Disabled  
  Device supportsUnified Addressing (UVA):      Yes  
  Device PCI Bus ID /PCI location ID:           1 / 0  
  Compute Mode:  
     <Default (multiple host threads can use ::cudaSetDevice() with devicesimultaneously) >  
  
deviceQuery, CUDA Driver = CUDART, CUDADriver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 =GeForce GTX 670  
Result = PASS  
NOTE:上边的显卡信息是从别的地方拷过来的,我的GTX650显卡不是这些信息,如果没有这些信息,那肯定是安装不成功,找原因吧!

 

2.3安装矩阵算法库

安装Intel MKLAtlas
我没有MKL,装的Atlas
安装命令:
sudo apt-get install libatlas-base-dev 

2.4 安装OPENCV

依赖包安装

Ubuntu下安装软件或多或少都需要安装一些依赖包(软件)。opencv也不例外。

(1)build-essential软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。还会下载依赖的软件包,安装gcc/g++/gdb/make等基本编程工具,最后才组成一个开发环境。

sudo apt-get install build-essential

(2)下面依赖关系主要是为了能够支持读写图片以及视频等。

sudo apt-get install  libgtk2.0-dev libavcodec-devlibavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev

(3)安装cmake,可以官网上下载源码编译,也可以在百度网盘下载2.8.12版本,当然可以直接使用apt-get方法。

sudo apt-get install cmake

(4)安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件。

sudo apt-get install pkg-config

编译安装过程

(1)使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。

在本目录下使用cmake,注意后面的点表示在当前目录下寻找CMakeLists.txt。

cmake .

也可以在可以在另外建一个文件夹,最常见的就是子目录。当然在构建的时候也可以配置一些参数:

下载opencv(官网即可下载),解压

 

cd opencv-2.4.9

mkdir release

cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN=3.2 ..

(2)使用make编译

make

(3)使用make install 安装

sudo make install

(4)在/etc/ld.so.conf.d目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib

 

使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统共享

sudo ldconfig -v

(5)完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

pkg-config 维护着一个关于opencv的配置文件,这个文件(opencv.pc)在目录 /usr/local/lib/pkgconfig,这个文件记录着opencv的一些动态库信息,还有头文件信息通过pkg-config 命令可以列出关于opencv的配置信息:

 

测试

(1)在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件

./build_all.sh

(2)找其中一个来运行看一下效果,例如 find_obj程序:

 运行:./fing_obj

 

2.5 安装CAFFE

安装caffe:

官网下载caffe

解压

 

(1)安装Anaconda

下载最新的安装包, 用默认设置安装在用户目录下。

./Anaconda-2.2.0-Linux-x86_64.sh

方法:进入文件/etc.profile进行编辑加入

export PATH=/root/anaconda/bin:$PATH

source /etc/profile(不绝对,路径应该是Anaconda的实际安装路径,在安装过程中会提示选择安装路径,记住默认路径即可)
(2)安装python

开新的终端, 用whichpythonwhich pip确定使用的是anaconda提供的python环境

然后进入caffe的解压文件下的python文件夹

cd caffe-master/python, 执行下列命令

for req in $(catrequirements.txt); do sudo pipinstall $req; done 声明环境变量

 

 

 

 

添加依赖库:

# sudo apt-get installlibatlas-base-dev

# sudo apt-get install libprotobuf-dev

# sudo apt-get install libleveldb-dev

# sudo apt-get install libsnappy-dev

# sudo apt-get install libopencv-dev

# sudo apt-get install libboost-all-dev

# sudo apt-get install libhdf5-serial-dev

# sudo apt-get install libgflags-dev

# sudo apt-get install libgoogle-glog-dev

# sudo apt-get install liblmdb-dev

# sudo apt-get install protobuf-compiler

 

进入caffe-master目录,复制一份Makefile.config.examples
cp Makefile.config.example Makefile.config  

编辑Makefile.config

sudo vi Makefile.config

如果使用cudnn 将#USE_CUDNN:= 1 中的#去掉

 

make all 完成环境配置

测试caffe

 下载mnist数据

# cd ~/caffe

# sudo sh data/mnist/get_mnist.sh

# sudo sh examples/mnist/create_mnist.sh

# sudo vi examples/mnist/lenet_solver.prototxt

将最后一行的solver_mode:GPU改为solver_mode:CPU

配置好后,就可以运行了

# sudo sh examples/mnist/train_lenet.sh

 

 


0 0
原创粉丝点击