1. 程式人生 > >Ubuntu14.04 安裝CUDA7.5 + Caffe + cuDNN

Ubuntu14.04 安裝CUDA7.5 + Caffe + cuDNN

1 主要修改於http://blog.csdn.net/yhl_leo/article/details/50961542 感謝博主的分享,結合自己的安裝經歷,在原作者的基礎上進行補充如下:

2 準備工作

安裝一些基本依賴項:

$ 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
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

安裝NVIDIA顯示卡驅動,我是先解除安裝已有版本,再安裝,解除安裝方法:

sudo apt-get remove --purge nvidia*$ sudo service lightdm stop
  • 1
  • 1

重啟後登入時,可能會迴圈出現填寫登入密碼,不能進入系統的情況,按Ctrl+Alt+F1,登入,安裝顯示卡驅動:

$ sudo add-apt
-repository ppa:xorg-edgers/ppa $ sudo apt-get update $ sudo apt-get install nvidia-375
$ sudo service lightdm start
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
  • 1
  • 1

(系統啟動後,不要登入進入桌面,直接按Ctrl+Alt+F1,如果你玩過雲伺服器,應該很熟悉,接著輸入系統使用者名稱和登入密碼,輸入上述的指令,回到圖形介面的方法是按Ctrl+Alt+F7,記住這個操作,14.04版本出現輸入密碼不能進入桌面的情況比較常見,我安裝搜狗拼音都出現了……)

3 CUDA

網上很多安裝6.x,7.0版本的方法非常繁瑣,個人選用了相對簡單的安裝方法。

首先在官網上下載安裝檔案(連結前文已經提供):

cuda

我下載的是deb本地安裝檔案,下載完成後,按照文件提示的命令安裝:

$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

下載了下方的Installation Guide for Linux,裡面有關於環境變數的設定方法:

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

其他安裝檔案的配置方式,文件裡也都有。

4 Caffe

下載caffe:

$ git clone https://github.com/BVLC/caffe.git
  • 1
  • 1

然後編譯caffe:

$ cd ~/caffe
$ sudo cp Makefile.config.example Makefile.config
$ make all注意事項:如果出現這樣的錯誤:
下列軟體包有未滿足的依賴關係:
 unity-control-center : 依賴: libcheese-gtk23 (>= 3.4.0) 但是它將不會被安裝
                        依賴: libcheese7 (>= 3.0.1) 但是它將不會被安裝
E: 錯誤,pkgProblemResolver::Resolve 發生故障,這可能是有軟體包被要求保持現狀的緣故。


則執行:
sudo aptitude full-upgrade
sudo apt-get install unity-desktop如果在編譯的過程中出現這樣的問題:
nvcc fatal   : Unsupported gpu architecture 'compute_60'
需要手動修改caffe主目錄下的Makefile.config檔案
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50 \
-gencode arch=compute_52,code=sm_52 \
#-gencode arch=compute_60,code=sm_60 \
#-gencode arch=compute_61,code=sm_61
我這裡面把下面兩行註釋掉,再編譯,就能通過了,這個可能和自己所用的哪款顯示卡有關係。
#-gencode arch=compute_60,code=sm_60 \
#-gencode arch=compute_61,code=sm_61當caffe編譯完成以後,在呼叫GPU執行程式時,可能會遇到這樣的問題:當libcudart.so.7.5存在,但是還是報錯的情況下,需要設定一下連結,按照下面的方法設定即可:
在 /etc/ld.so.conf.d/加入檔案 cuda.conf, 內容如下
/usr/local/cuda-6.5/lib64
執行下列命令使之立刻生效
sudo ldconfig原作者在下面也有這樣類似的解決方法,可以參考。
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

5 cuDNN

cuDNN是GPU加速計算深層神經網路的庫(下載連結,前文已提供)。

cuDNN

本人的下載檔案是:cudnn-7.0-linux-x64-v4.0-prod.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.7$sudo ln -sf libcudnn.so.4.0.7 libcudnn.so.4$sudo ln -sf libcudnn.so.4 libcudnn.so$sudo ldconfig
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(我安裝的是libcudnn.so.4.0.7,跟上面的例子對應就好) 
然後切換到caffe根目錄下,將Makefile.config中的USE_CUDNN行前的#去掉:

$ cd ~/caffe
$ sudo vi Makefile.config
  • 1
  • 2
  • 1
  • 2

config

儲存後重新編譯:

$ sudo make clean
$ sudo make all
$ sudo make test  
$ sudo make runtest 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

本人編譯的時候最後一步的時候,出現這樣的錯誤:

libcudart.so.7.5 cannot open shared object file: No such file or directory
  • 1
  • 1

網上有一堆介紹,怎麼設定環境變數的(我們分明已經設定過了),可以這樣檢查是否已經新增環境變數:

$ echo $PATH
$ echo $LD_LIBRARY_PATH
  • 1
  • 2
  • 1
  • 2

path

可以看到,環境變數已經新增好。

解決方法是這樣,將一些檔案複製到/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
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

再次,嘗試sudo make runtest命令,出現如下:

maketest

至此,caffe安裝完成。