Ubuntu14.04 64位配置Caffe 教程(基於CUDA7.5)
深度學習是研究計算機視覺的重要工具,尤其在影象分類與識別等領域有著劃時代的意義。現在有很多深度學習框架,Caffe是比較常用的一個。本文講述了Ubuntu 14.04(64位)系統下配置Caffe的基本步驟,參考了Caffe的官方網站 http://caffe.berkeleyvision.org/。
一、系統環境配置
1.1 首先安裝一般會用到的一些依賴項。開啟Ubuntu系統的終端,輸入以下命令:
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
1.2 下載並安裝CUDA
選擇合適的版本,下載下來即可。按照圖中的設定,下載到的是cuda_7.5.18_linux.run,預設下載路徑是~/Downloads,在終端中輸入:
cd ~/Downloads
sudo sh cuda_7.5.18_linux.run
執行後會有一大段文字要讓你瀏覽,終端左下角有進度顯示,當前應為0%,沒必要看,直接按Ctrl+C 跳過,之後要輸入“accept”。在下邊就是要你選擇裝各個元件。第一個顯示卡驅動不要裝,剩下的可以都裝上。注意,也不要自己另外裝NVIDIA顯示卡的官方驅動,可能會產生系統啟動迴圈登入不進去的情況。我當時就是因為裝了最新版官方驅動,導致迴圈登入不進去,嘗試了網路上各路大神給出的方法,均不奏效。最後放棄了,還是使用自帶的開源顯示卡驅動好了。
--------------------------------------------------------------------
但是即使這樣可能會出現一些特殊情況。比如使用了自帶的開源驅動,在編譯完成caffe後,執行使用GPU的測試,會提示Error: CUDA driver version is insufficient for CUDA runtime version 。這表示顯示卡驅動沒裝對。這時只能不使用GPU,僅僅使用CPU了。當然如果非要使用GPU,只能安裝合適的顯示卡驅動。正如前文所說,安裝了最新的NVIDIA顯示卡驅動反而造成Ubuntu登入出現問題,那麼應該裝哪個驅動呢?
開啟System Settings ——> Software & Updates——> Additional Drivers
我的顯示卡是GTX 760,列表中顯示驅動中較新的是352.63版本。於是,我們可以從NVIDIA官網下載這個版本的顯示卡驅動。根據自己的顯示卡和系統來下載對應的驅動,我的下載後是NVIDIA-Linux-x86_64-352.63.run。 (一種更簡單的方法是直接選中列表中的驅動版本,點選右下角的“Apply Changes”)
安裝方法:
(1)先關閉桌面系統,終端輸入:
sudo service lightdm stop
(2)然後按Ctrl + Alt +F1進入控制檯,輸入帳號和密碼。cd到顯示卡驅動所在目錄,然後執行:
sudo sh NVIDIA-Linux-x86_64-352.63.run
按照指令一步步安裝完即可。
(3)中間可能會要求禁用自帶開源驅動並重啟計算機。重啟後需要重複之前的步驟,然後一路確認就可以了。安裝完成後,輸入命令:
sudo service lightdm start
即可返回桌面系統。
--------------------------------------------------------------------
安裝完CUDA後,需要在使用者環境變數中加入兩個路徑。在終端中輸入
gedit ~/.bashrc
在開啟的檔案末尾新增下面兩行:
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
然後儲存並退出。
1.3 安裝BLAS
終端中輸入以下命令:
sudo apt-get install libatlas-base-dev
1.4 安裝Python(可選的)
如果需要使用內建的Python,就需要執行下面的命令,這樣在生成pycaffe介面時候才能有Python標頭檔案:
sudo apt-get install the python-dev
1.5 剩下的一些依賴
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
二、Caffe的安裝和編譯
2.1安裝Caffe
我們使用git來獲取Caffe,如果之前沒有安裝git,需要手動安裝
sudo apt-get install git
2.2 配置Caffe
進入caffe的根目錄。我的caffe下載後在主目錄下,所以在終端輸入:
cd ~/caffe
然後建立一個配置檔案。由於下載後的caffe目錄中自帶一個Makefile.config.example檔案,所以只需要將該檔案複製一份,並且命名為Makefile.config即可。所以可以使用下面的命令:
cp Makefile.config.example Makefile.config
關於Makefile.config的一些說明如下:
(1)使用CPU&GPU加速的Caffe,不需要修改現有配置;
(2)使用NVIDIA的cuDNN軟體加速的Caffe,則需要取消 “USE_CUDNN := 1”之前的註釋符號。需要指出的是,cuDNN並不是一定會比Caffe的GPU加速快。
(3)僅使用CPU的Caffe,取消 “CPU_ONLY := 1”前面的註釋。
2.3 編譯Caffe
我們使用CMake來編譯Caffe,如果之前沒有安裝CMake,需要手動安裝
sudo apt-get install cmake
然後一次執行以下命令(如果遇到執行許可權問題,在命令前加上 sudo)
mkdir build
cd build
cmake ..
make all
make install
sudo make runtest
至此,已經成功安裝了Caffe。可以在一些資料集上進行一些測試了。
三、使用Caffe
3.1 準備MNIST 資料集
首先準備資料集。我們需要從MNIST網站上下載資料並轉換格式。為了簡單,可以直接執行下面的命令:
cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
執行後,在caffe/examples/mnist下會生成mnist_train_lmdb和 mnist_test_lmdb兩個資料夾。
3.2 執行結果
終端輸入以下命令(當前工作目錄仍然是~/caffe):
./examples/mnist/train_lenet.sh
執行這句命令,最後訓練成功結果如圖。