1. 程式人生 > >ubuntu 14.04 + GPU(CUDA7.5+CuDNN7.5)+ opencv2.4.10 + caffe小白手記

ubuntu 14.04 + GPU(CUDA7.5+CuDNN7.5)+ opencv2.4.10 + caffe小白手記

盼星星盼月亮終於有了GPU啦,師姐讓我把環境搭建寫一下以後作參考,哈哈哈~

1.檢查硬體環境

$ lspci | grep -i nvidia;//檢查是否有GPU對應版本,https://developer.nvidia.com/cuda-gpus
$ uname -m && cat /etc/*release; //檢查系統環境,我的是x86_64
$ gcc --version  //檢視是否有gcc以及版本

但是,檢視系統設定,沒有看到對應的GPU資訊:

  • 注意,如果你不知道自己顯示卡的型號,選擇了自動檢測GPU,要事先安裝java才行,但是配置了jre環境變數之後重啟電腦出現了登入死迴圈,密碼輸入正確,但是進不了圖形介面!!!被這個環境變數坑了一波!!!這時候ctrl+alt+F1進入tty1,如果輸入ls等命令報錯,則重置環境變數export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin即可。然後sudo vim /etc/environment,雙擊dd刪除自己新增的那幾行程式碼。

  • 在官網找不到我的型號,所以打算從PPA私有源安裝:

1:sudo add-apt-repository ppa:mamarley/nvidia //PPA是Personal Package Archive的縮寫,如果這個源失效,可以換成其他的,比如這個命令sudo add-apt-repository ppa:xorg-edgers/ppa
2:輸入你的root密碼
3:sudo apt-get update
4:sudo apt-get install nvidia-版本號 nvidia-prime
5:等待安裝完成,重啟之後,你的電腦應該就是在用nvidIa顯示卡驅動了,你可以使用

重啟之後,就可以檢視計算機的顯示卡已經切換了:
這裡寫圖片描述

2.安裝cuda

下載地址:https://developer.nvidia.com/cuda-downloads, 官網上沒有找到ubuntu14.04的cuda版本,所以從百度網盤下載了ubuntu14.04-cuda7.5版本,1.88G。
然後,手動安裝:

$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
$ sudo apt-get update
$ sudo apt-get install cuda

等幾分鐘就可以啦,接下來新增環境變數/etc/environment,但是每次修改了environment之後重啟就會陷入死迴圈。後來嘗試修改~./profile

檔案,source .profile沒有用,然後重啟了一下,生效!

$ export PATH=/usr/local/cuda-7.5/bin:$PATH 
$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

然後cd /etc/ld.so.conf.d/,新建檔案cuda.conf,寫入cuda的lib64的路徑/usr/local/cuda-7.0/lib64,儲存即可。
接下來就是走ubuntu安裝caffe的流程了。

3.安裝Boost庫

$ sudo apt-get install mpi-default-dev  #安裝mpi庫
$ sudo apt-get install libicu-dev     #支援正則表示式UNICODE字符集
$ sudo apt-get install python-dev     #需要python的話
$ sudo apt-get install libbz2-dev
$ sudo apt-get install libatlas-base-dev #安裝矩陣庫Atlas

4.安裝opencv

在安裝之前,查一下電腦顯示卡的實際計算能力:

$ cd /usr/local/cuda/samples/
$ sudo make all -j4 
$ cd ./bin/x86_64/linux/release
$ ./deviceQuery  

會看到如下資訊:
這裡寫圖片描述
其中,CUDA Capability Major/Minor version number : 5.2就是該顯示卡的計算能力了!

安裝opencv依賴:

$ sudo apt-get install build-essential
$ sudo apt-get install  libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev
$ sudo apt-get install cmake
$ cd opencv-2.4.10
$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN=5.2 ..      #這個5.2就是上面查詢到的顯示卡計算能力
$ make
$ sudo make install

(注意下載2.4.9版本的會報錯:NCVPixelOperations.hpp(133): error: a storage class is not allowed in an explicit specialization,檢視網上說要替換NCVPixelOperations.hpp,但是網站報502錯誤,於是直接改換安裝opencv-2.4.10,成功。)然後cd /etc/ld.so.conf.d/,新建檔案opencv.conf,寫入/usr/local/lib,儲存即可。

5.安裝caffe

step1. python依賴

$ sudo apt-get python-pip
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

step2.下載caffe

$ cd ~
$ git clone git://github.com/BVLC/caffe.git
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config #Makefile.config是重要的配置檔案
$ make all
$ make test
$ make runtest

make all的時候報錯:
這裡寫圖片描述
是因為在Makefile.config中,註釋掉cuda高版本:
這裡寫圖片描述
然後重新執行make all以及之後的命令。

附加步驟:6.安裝CuDNN

本來不想裝CuDNN,但是看見介紹說是專門針對DL設計的一套GPU計算加速方案,覺得可以用一下
http://pan.baidu.com/s/1i55BpVf

$ tar -xzvf cudnn-7.5-linux-x64-v5.1.tgz
$ cd cuda/lib64/
$ sudo cp lib* /usr/local/cuda/lib64/
$ cd ..
$ cd include
$ sudo cp cudnn.h /usr/local/cuda/include

把這些檔案拷貝到系統檔案之後,在~/caffe/Makefile.config中,去掉 USE_CUDNN := 1的註釋,然後再次編譯:

$ make clean #清楚之前的編譯得到的檔案
$ make all
$ make test
$ make runtest

7.編譯pycaffe

$ cd ~/caffe
$ make pycaffe

修改環境變數~/profile,寫入:export PYTHONPATH=/home/dell/caffe/python:$PYTHONPATH。

8.測試import caffe

$ python
$ import caffe

報錯:No module named skimage.io
第一種:安裝一堆python庫:

$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

第二種:直接安裝scikit-image庫:

 sudo pip install scikit-image

再次import caffe測試,大功告成!