1. 前言
本教程使用的系統是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本為7.5,使用的NVIDIA驅動版本為352。
如果您使用的Pascal架構顯卡,如GTX1080或者新ttx,則必須使用更高版本的驅動和CUDA 8。本教程不適於這種情況,請不要嘗試。
Ubuntu每兩年發布一次LTS版本(即長期支持版),所以現在已經發布了16.04 LTS版本。鑒於很多程序在新系統下的兼容性還沒有測試,本教程依然介紹的是上一個LTS版本上安裝Caffe的方法,隨后會推出針對於Ubuntu 16.04和CUDA 8的教程。
本教程很多細節已經盡量詳細,但是還是要求使用者有一定的Linux基礎,后續可能會推出針對於Linux新用戶的更為詳細的教程。
2. 安裝基礎依賴項
sudo apt-get install build-essential
sudo apt-get install cmake git
3. 安裝NVIDIA驅動和CUDA7.5
從NVIDIA官網下載CUDA 7.5的deb本地安裝包:下載地址
點擊如上的鏈接可以下載支持x86架構CPU和Ubuntu 14.04系統的deb本地安裝包,大小約1.9GB,如果需要其他安裝方式可以按官網教程進行。
下載完成后,使用Ctrl+Alt+F1進入虛擬控制台,然后輸入用戶名和密碼登陸。
然后關閉lightdm
sudo /etc/init.d/lightdm stop
前往指定的目錄,然后執行:
sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda
CUDA安裝包中含有NVIDIA顯卡驅動程序,會自動安裝。
安裝完成之后重啟:
sudo reboot
重啟后后,需要添加環境變量。使用gedit打開如下文檔:
sudo gedit /etc/profile
PS:只有在圖形桌面環境下才能使用gedit,如果未啟動圖形界面請使用vim等基於命令行的編輯器。
在文件末尾添加:
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存完成后,執行如下命令使環境變量立即生效:
source /etc/profile
然后還需要添加lib的路徑:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在文件中寫入如下內容然后保存:
/usr/local/cuda/lib64
之后執行如下命令使之生效:
sudo ldconfig
PS:上面的命令使L-D-C-O-N-F-I-G!!! 無數的人把L寫成了I,然后告訴我報錯。
執行完了這些操作之后,還可以安裝CUDA SAMPLES來檢測CUDA是否運行正常,鑒於這不是CUDA編程教程,本教程暫不介紹。
4. 安裝其他的一些依賴項
sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
sudo apt-get install 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
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
PS:復制粘貼太長的命令可以能因為瀏覽器的原因導致輸入了多余的換行符,如果復制粘貼帶有換行符的命令進Terminal,會被當做兩條命令來執行,一定要注意這一點。
5. 安裝ATLAS
本步驟可以用OpenBLAS或者Intel MKL替代。我在E5-2690v2+GTX780的平台上測試過這三種庫,性能相差無幾,這里就介紹其中一種:
sudo apt-get install libatlas-base-dev
然后自動安裝完成即可。
目前intel MKL是收費軟件,OpenBLAS可以免費下載和安裝。如果使用這兩種庫,編譯Caffe時要在Makefile.config做出對應的修改。
6. 安裝OpenCV
如果不需要使用OpenCV 3的其他功能,使用步驟4中安裝的libopencv-dev即可。如需單獨安裝OpenCV,請點擊:這里。
7.下載Caffe
從GitHub上直接下載Caffe的最新版
git clone https://github.com/BVLC/caffe.git
也可以從Caffe的GitHub工程中下載Caffe的歷史版本:
8. 安裝Python
先安裝相關依賴項
sudo apt-get install python-dev python-pip
轉到下載的caffe的目錄下,然后轉到python目錄下
cd python
執行如下命令:
for req in $(cat requirements.txt); do sudo pip install $req; done
等待其自動安裝即可。
9. 安裝MATLAB
下載正版matlab鏡像。
打開Terminal,創建文件夾用於掛載matlab的iso:
sudo mkdir /mnt/matlab_iso
然后掛載matlab的iso(將紅色內容根據自己的文件路徑和名稱進行修改):
sudo mount -o loop /路徑/Matlab鏡像文件名.iso /mnt/matlab_iso
然后執行安裝程序:
sudo /mnt/matlab_iso/install
會彈出圖形化安裝界面,按步驟安裝即可,跟windows上安裝matlab基本一樣。
安裝完成后,需激活matlab。先前往matlab的安裝路徑(根據版本不同前往自己的安裝路徑即可,下面的路徑僅是示范):
cd /usr/local/MATLAB/R2016a/bin
然后在sudo權限下啟動matlab(如果不在sudo下啟動,matlab會因權限不夠無法激活):
sudo ./matlab
然后按圖形界面提示激活即可。
激活之后,可以為matlab創建快捷方式:
sudo gedit /usr/share/applications/Matlab.desktop
寫入以下內容:
[Desktop Entry] Type=Application Name=Matlab GenericName=Matlab 2016a Comment=Matlab:The Language of Technical Computing Exec=sh /usr/local/MATLAB/R2016a/bin/matlab -desktop Icon=/路徑/Matlab.png Terminal=false Categories=Development;Matlab;
根據自己的情況更改圖標路徑和matlab路徑。
10. 配置cuDNN
cuDNN需要注冊Accelerated Computing Developer Program,然后可以免費下載。
cuDNN是The NVIDIA CUDA Deep Neural Network library,對於使用NVIDIA顯卡進行深度學習加速具有很大的性能提升,非常建議添加。
在如下地址進行注冊和下載,支持下載歷史版本:
PS:另外,cuDNN在很多工程中兼容性較差,可能需要安裝特定的歷史版本。
下載后解壓縮,轉到該目錄下,執行:
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/
更新軟鏈接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
PS:根據你下載的cuDNN版本不同,需要對如上命令中的版本進行修改,以上展示的命令是對於cuDNN 5.1.3的。
11. 編譯Caffe
在caffe目錄下,執行:
cp Makefile.config.example Makefile.config
然后打開Makefile.config,根據自己的需要修改相關參數。
如果使用了cuDNN,則如下行取消注釋:
# USE_CUDNN := 1
其他可以根據需求修改,比如安裝了MATLAB后寫入正確的MATLAB安裝路徑等。
然后進行編譯:
make all -j10
make test
make runtest
PS:-j10指10線程同時編譯,根據自己CPU的特點調整該參數,如果不了解自己CPU,直接執行make即可。
然后可以根據需求編譯matcaffe和pycaffe:
make matcaffe
make pycaffe
然后caffe就安裝結束了。
12. 運行minist demo
轉到 Caffe 目錄下
sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
sh examples/mnist/train_lenet.sh
如果運行正常,caffe就可以正常工作了。
本教程編寫參考了如下教程,特此鳴謝:
http://www.cnblogs.com/platero/p/3993877.html
http://www.linuxidc.com/Linux/2011-01/31632.htm
http://blog.csdn.net/xanxus46/article/details/7945993
Caffe的官方網站是 http://caffe.berkeleyvision.org/
如果有任何問題可以聯系我:yaoyaoliu AT outlook.com
最近更新於2016-09-23 16:59:31