Ubuntu 14.04下CUDA8.0+Caffe安装

分享Ubuntu 14.04下CUDA8.0+Caffe安装步骤,硬件配置:i76700K + GTX1080 + 32G 2400MHz RAM + 250G SSD

1. Ubuntu 14.04安装

刚装完Ubuntu 14.04以后系统有可能卡顿非常明显,此时是因为显卡驱动没有安装。

2. GTX1080显卡驱动367.35安装

Sudo apt-get update##更新源

sudo add-apt-repository ppa:graphics-drivers/ppa

按回车继续

sudo apt-get update

sudo apt-get install nvidia-367

sudo apt-get install mesa-common-dev

sudo apt-get install freeglut3-dev

以上装完后重启电脑,此时驱动安装完毕,系统没有卡顿现象

3.      安装gcc与g++

Sudo apt-get install g++,没有g++的话,CUDA工具箱安装将不成功。

Ubuntu14.04默认自带gcc-4.8,因此不用安装。

4.      安装Cuda8.0工具包

(1)在Nvidia官网注册账号,下载Cuda8.0 ubuntu14.04,并按照官网指示进行安装

注意除了一个驱动程序361.32不安装外,其余均选择y。

(2)在安装完毕之后需要将cuda库文件路径添加到PATH与LD_LIBRARY_PATH里。在~/.bashrc文件里修改。在文件末端加入

exportPATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH

然后source命令使路径生效

Source ~/.bashrc

sudo ldconfig

有时候上述方法会失败,总是出现找不到动态链接库。。。目前还不知道原因。

一个更靠谱的方法是将库文件路径添加到/etc/ld.so.conf文件里。即在文件末尾添加:/usr/local/cuda-8.0/lib64

最后命令行:sudo ldconfig使文件生效。

(3)验证cuda安装成功

进入NVIDIA_CUDA-8.0_Samples文件夹,进行make编译。之后进入1_Utilities/deviceQuery/文件夹,运行./deviceQuery命令,若出现Nvidia显卡的型号等信息,则说明安装成功

注意:Ubuntu16.04在安装时会遇到gcc版本不符合的问题,此时将系统中自带的gcc版本换为gcc4.9即可。

sudo apt-get install gcc-4.9

sudo apt-get install g++-4.9

先把目录切换到/usr/bin下。修改原先gcc与g++的软连接,使得新安装的gcc与g++生效。

sudo mv gcc gcc.bak

sudo ln -s gcc-4.9 gcc

sudo mv g++ g++.bak

sudo ln -s g++-4.9 g++

5.      CudnnV5安装

下载cudnnv5,然后解压。然后将cudnn复制到cuda相应的头文件和库文件中即可

sudo cp lib64/lib* /usr/local/cuda-8.0/lib64/

sudo cp include/cudnn.h /usr/local/cuda-8.0/include/

cd /usr/local/cuda/lib64/

sudo chmod 777 libcudnn*即可

这里注意,复制完后需要将libcudnn*的权限都改为777,否则后面将不能执行~~~,编译时出现找不到Libcudnn.so或者libcudart.so.8.0文件的情况。

6.      安装caffe依赖库

(1)基本程序编译所需库build-essential,github库Git

Sudo apt-get install –y build-essentialgit

(2)矩阵运算库

sudo apt-get install -y libopenblas-devlibblas-dev liblapack-dev

这里blas库负责基本的向量矩阵运算,lapack库调用blas库进行一些高级矩阵运算,比如矩阵的求逆,SVD分解,但这两者都只是定义了一组API,并没有底层具体的实现。底层的实现则靠openblas库。与openblas库对应的还有一些,如mkl,atlas等。

(3)OpenCV库

Sudo apt-get install libopencv-dev

(4)protobuf库

sudo apt-get install –y libprotobuf-devprotobuf-compiler

谷歌开发的用于结构化数据的读取和存入的一套API。类似与XML。改革是简单快速,但是没有xml所能表示的东西复杂。该库可以将符合proto格式的文件编译成C++接口,Python接口,Java接口的两个文件。当编译为C++接口时,一个为**.pb.c,一个为**.pb.h。在Caffe里主要用来存放网络结构文件.prototxt,以及对应于一个问题的solver.prototxt(包括网络的指定与各种训练参数)

(5)Boost库

sudo apt-get install –y libboost-all-dev

一套C++标准库的扩展库,里面主要包含了一些字符串处理,文本处理,图算法,容器等算法相关的库,是目前最大的C++扩展库

(6)GLOG库

sudo apt-get install –y libgoogle-glog-dev

GoogleLogger,谷歌开发的一套用于日志记录的C++库

(7)LMDB与LEVELDB库

sudo apt-get install –y libleveldb-devliblmdb-dev

数据库管理库,包含了数据的读写和存储方式,高效安全。HDF5是一种文件格式,而LMDB是一种数据库管理的库

(8)snappy库

sudo apt-get install –y libsnappy-dev

一个用来压缩和解压缩的C++库,在Caffe里训练原始数据先通过格式转换工具转为HDF5格式,然后Snappy将该格式进行压缩以便放入内存中,然后采用LMDB方法对数据进行读取和更新

(9)HDF5库

sudo apt-get install –y libhdf5-serial-dev

美国国家超算中心开发的一种文件格式,便于用来存储大量的科学数据。在Caffe里可以用来存放训练和测试数据集。(和LMDB与LEVELDB的区别是啥?)

(10)gflags库

sudo apt-get install –y libgflags-dev

谷歌开源的处理命令行参数的库

上述依赖库安装完成后,便可以克隆caffe的源码,然后修改make.config文件

至此可以对caffe make all,make test,make runtest了,也可以在命令行窗口运行mnist数据集进行测试了

7.      安装caffe的Python接口及python相关库

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14509.html