一、硬件与环境
显卡:GTX 1080
系统:Ubuntu 14.04
CUDA:cuda_8.0.44_linux.run(一定是下载这个)
cuDNN:cudnn-8.0-linux-x64-v5.1.tgz
GTX1080显卡必须用CUDA 8.0版本。切记,千万不要下载 deb 包,否则后方无数坑在等着你。GTX1080显卡必须用cuDNN-8.0-V5.1版本,不然用 caffe 跑模型,用 cpu或GPU显卡跑精度正常,一旦开启cuDNN模式,精度(acc)立刻下降到 0.1 左右,loss 非常大。下载需注册。最好注册一个账号,选择对应的版本,不要用网上其他教程给的现成的包,出问题的概率非常大。
二、安装
1 安装依赖库
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2 安装 BLAS
BLAS (Basic Linear Algebra Subprograms)是一个基本线性代数运算库,除了BLAS还有Intel的MKL(Math Kernel Library),这个库需要购买或者用edu邮箱申请,相应的这个库比BLAS运算效率高,如果有GPU的情况下这个库就不是很重要了,所以这里我们用免费的BLAS,安装命令如下。
sudo apt-get install libatlas-base-dev
3 安装opencv
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。caffe里用到很多caffe的函数,包括基本的图像处理,需要执行以下命令:
3.1 安装cmake等编译opencv需要用到的工具
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3.2 下载opencv
mkdir ~/opencv
cd ~/opencv
wget https://github.com/Itseez/opencv/archive/3.0.0-alpha.zip -O opencv-3.0.0-alpha.zip
unzip opencv-3.0.0-alpha.zip
cd opencv-3.0.0-alpha
3.3 编译安装opencv
mkdir build
cd build
cmake ..
sudo make
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
4 安装CUDA
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。caffe中几乎所有的layer都有GPU实现的版本,利用cuda使得训练速度大大提升。CUDA相应也是比较难以安装的一个依赖包了,这次安装的过程 中出现最多问题的就是CUDA的安装。
在安装之前需要说明一些情况,Ubuntu14.04安装的时候自带了一个名为nouveau的驱动,这个驱动为安装带来了很多麻烦。如果你原本的显示设备是NVIDIA的卡的话,尤其是单GPU的话,那你安装的时候需要先关闭GUI,执行Ctrl+Alt+F1后进入tty1,执行sudo stop lightdm关闭显示器管理器,禁用旧的显卡驱动:
cd /etc/modprobe.d/
sudo vim nvidia-installer-disable-nouveau.conf
blacklist nouveau options nouveau modeset=0
rdblacklist nouveau nouveau.modeset=0
然后再安装NVIDIA驱动:
sudo sh ./NVIDIA-Linux-x86_64-352.30.run
安装CUDA成功之后再执行
sudo start lightdm
5 安装 cuDNN
cd ~
sudo tar xvf cudnn-8.0-linux-x64-v5.1.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.5
sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
注意:libcudnn.so后面跟的数字可能和你下载的 cudnn 包小版本的不同而不同,去~/cuda/lib64下看一眼,相对应地进行修改。
6 安装 caffe
6.1 下载 caffe
cd ~
git clone https://github.com/BVLC/caffe.git
6.2安装依赖
sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
6.3 编译 caffe
cd ~/caffe
cp Makefile.config.example Makefile.config
vim Makefile.config
修改Makefile.config文件:
USE_CUDNN := 1,开头的#删除
USE_OPENCV := 0,开头的#删除
OPENCV_VERSION := 3,开头的#删除 因为我安装的是opencv3
make all
make test
make runtest
OK现在就完成了,体验下1080显卡的霸气。