caffe在筆記本ubuntu14.04 64位下的無GPU安裝

原文地址:http://www.itnose.net/detail/6241480.html


caffe在筆記本ubuntu10.04 64位下的無GPU安裝

    筆者花了很長時間才裝完,主要是cuda安裝和opencv安裝比較費勁,cuda找不到32位的安裝包只好重裝64位的ubuntu系統,opencv也是嘗試了很久才解決,這裏建議用2.4.9版本。其實如果沒用GPU的話不需要安裝cuda,不過爲了後續兼容性的考慮,系統強烈建議64位的。下面是對自己的安裝過程記錄備忘,有些主要參考網上的文章,所以有些過程就直接用了原來文章中的內容。

caffe在git上的源碼:https://github.com/BVLC/caffe

環境:
    ubuntu 14.04 64位
    無GPU
準備工作:
*首先驗證你是否有nvidia的顯卡(http://developer.nvidia.com/cuda-gpus這個網站查看你是否有支持gpu的顯卡):
$ lspci | grep -i nvidia  

*查看linux發行版本
uname -m && cat /etc/*release
看第一行

*看gcc版本
$ gcc --version

Step1、安裝cuda(無GPU安裝可以直接跳過這一步,所以這裏直接跳過。要說明的是cuda 32位尚未找到合適的安裝包,所以這裏的linux要64位的)
*在cuda官網(https://developer.nvidia.com/cuda-downloads#linux)下載對應版本.

*下載完成之後可以使用如下命令安裝它,注意文件名修改爲cuda-repo-ubuntu1404_6.5-14_amd64.deb
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
(或者在圖形界面下直接雙擊下載的deb文件)

Network Install和Local Install的區別:一個是文件小,在線更新;一個是文件大,可以離線安裝。
(Q: What is the difference between the Network Installer and the Local Installer?
A: The Local Installer has all of the components embedded into it (toolkit, driver, samples). This makes the installer very large, but once downloaded, it can be installed without an internet connection. The Network Installer is a small executable that will only download the necessary components dynamically during the installation so an internet connection is required.)

安裝好倉庫文件後,更新本地倉庫:
$ sudo apt-get update
最後開始安裝cuda以及顯卡驅動(安裝cuda的同時就會把顯卡驅動也全部安裝好,這個真的很方便。但是下載的時間有點長。)
$ sudo apt-get install cuda  

安裝完之後你需要設置環境變量:
    $ export PATH=/usr/local/cuda-6.5/bin:$PATH  
    $ export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH  

設置完畢之後,你還可以選擇是否安裝cuda附帶的示例代碼(<dir>表示你要安裝的位置,你可以將<dir>替換成~):
    $ cuda-install-samples-6.5.sh <dir>  

接下來做一些驗證工作(我的電腦沒有GPU,所以驗證跳過):
查看顯卡的驅動版本
    cat /proc/driver/nvidia/version  
查看nvcc編譯器的版本
    nvcc -V i  
編譯cuda的示例代碼:
    cd ~/NVIDIA_CUDA-6.5_Samples  

然後make一下編譯代碼。
進入bin路徑運行devicequery
    cd ~/NVIDIA_CUDA-6.5_Samples/bin  
    ./ deviceQuery  


Step2、預裝依賴準備
Caffe has several dependencies.

    CUDA is required for GPU mode.
        library version 7.0 and the latest driver version are recommended, but 6.* is fine too
        5.5, and 5.0 are compatible but considered legacy
    BLAS via ATLAS, MKL, or OpenBLAS.
    Boost >= 1.55
    OpenCV >= 2.4 including 3.0
    protobuf, glog, gflags
    IO libraries hdf5, leveldb, snappy, lmdb

Pycaffe and Matcaffe interfaces have their own natural needs.

    For Python Caffe: Python 2.7 or Python 3.3+, numpy (>= 1.7), boost-provided boost.python
    For MATLAB Caffe: MATLAB with the mex compiler.

cuDNN Caffe: for fastest operation Caffe is accelerated by drop-in integration of NVIDIA cuDNN. To speed up your Caffe models, install cuDNN then uncomment the USE_CUDNN := 1 flag in Makefile.config when installing Caffe. Acceleration is automatic. For now cuDNN v1 is integrated but see PR #1731 for v2.

CPU-only Caffe: for cold-brewed CPU-only Caffe uncomment the CPU_ONLY := 1 flag in Makefile.config to configure and build Caffe without CUDA. This is helpful for cloud or cluster deployment.
(最後一步在編譯caffe前會說明)

具體操作:
下面3個應該在build-essential裏了,不過這裏保險起見,我先裝上了。
    sudo apt-get install g++
    sudo apt-get install git
    sudo apt-get install freeglut3-dev
build-essential:
    sudo apt-get install build-essential
    sudo apt-get update
安裝ATLAS for Ubuntu:
     # sudo apt-get install libatlas-base-dev
     # sudo apt-get install libprotobuf-dev
     # sudo apt-get install libleveldb-dev
     # sudo apt-get install libsnappy-dev
     # sudo apt-get install libopencv-dev
     # sudo apt-get install libboost-all-dev
     # sudo apt-get install libhdf5-serial-dev
     # sudo apt-get install libgflags-dev
     # sudo apt-get install libgoogle-glog-dev
     # sudo apt-get install liblmdb-dev
     # sudo apt-get install protobuf-compiler

安裝Opencv:
     # cd ~/caffe
     # git clone https://github.com/jayrambhia/Install-OpenCV
     # cd Install-OpenCV/Ubuntu
     # sudo ./dependencies.sh
     # cd 2.4
     # sudo sh ./opencv2_4_9.sh
*這裏有幾點要注意的,也是花了很長時間解決的一個坑:
    首先2.4.8的源找不到了,所以不要用2.4.8
    其次2.4.10編譯有問題,不過可以嘗試解決下,這裏沒用
這裏最好不要自己直接裝,因爲有很多的依賴,去
git clone https://github.com/jayrambhia/Install-OpenCV
或者https://github.com/jayrambhia/Install-OpenCV都可以下載腳本。
這裏最新的就是2.4.9,如果要裝2.4.10的話把腳本拷貝一份做對應修改就行了。
    *由於wget opencv2.4.9.zip源文件非常慢,這裏的辦法是去sourceforge對應下載頁面,選擇其他服務器下載鏡像,可以下載到本地,注意同時修改相應腳本,把wget註釋掉。
    make opencv的時候會報錯,這裏將腳本的cmake替換爲如下:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=OFF -D WITH_CUDA=OFF -D WITH_CUFFT=OFF ..
即加上最後3個,編譯ok,然後繼續。

Step3:編譯Caffe
下載caffe安裝包,下載地址:https://github.com/BVLC/caffe
    解壓該壓縮包,解壓縮命令:
    unzip /home/liuxiabing/下載/caffe-master.zip  
    注:如果解壓位置出錯了,可以使用以下命令刪除該目錄及所有的子目錄:
    sudo rm -rf caffe-master  

    進入caffe根目錄, 首先複製一份Makefile.config,命令:
    cp Makefile.config.example Makefile.config  

    然後修改裏面的內容,主要需要修改的參數包括:
    CPU_ONLY 是否只使用CPU模式,由於我沒有NVIDIA的顯卡,就沒有安裝CUDA,因此需要打開這個選項。
    其餘的一些配置可以根據需要修改:
    BLAS (使用intel mkl還是OpenBLAS)
    MATLAB_DIR 如果需要使用MATLAB wrapper的同學需要指定matlab的安裝路徑, 如我的路徑爲 /usr/local/MATLAB/R2013b (注意該目錄下需要包含bin文件夾,bin文件夾裏應該包含mex二進制程序)
    DEBUG 是否使用debug模式,打開此選項則可以在eclipse或者NSight中debug程序

    完成上述設置後,開始編譯:  
    make all -j4  
    make test  
    make runtest  

   注意:-j4 是指使用幾個線程來同時編譯,可以加快速度,j後面的數字可以根據CPU core的個數來決定,如果CPU是4核的,則參數爲-j4,也可以不添加這個參數,直接使用“make all”,這樣速度可能會慢一點兒。

Step4:利用mnist數據集進行測試
*運行下載數據的腳本的時候發現mnist數據網站打不開,幸好之前在ufldl實驗中保存了一份mnist的數據集,放到data/mnist目錄下重命名了一下最後直接運行ok。
使用MNIST數據集進行測試
    Caffe默認情況會安裝在$CAFFE_ROOT,就是解壓到的那個目錄,例如:$ home/username/caffe-master,所以下面的工作,
默認已經切換到了該工作目錄。下面的工作主要是測試Caffe是否工作正常,不做詳細評估。具體設置請參考官網:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
    (1)數據預處理
    可以用下載好的數據集,也可以重新下載,直接下載的具體操作如下:
    $ cd data/mnist  
    $ sudo sh ./get_mnist.sh  

    (2)重建LDB文件,就是處理二進制數據集爲Caffe識別的數據集,以後所有的數據,包括jpe文件都要處理成這個格式,執行命令如下:
    $ sudo sh ./examples/mnist/create_mnist.sh  

    生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夾,這裏包含了LDB格式的數據集
    注:新版caffe都需要從根目錄上執行,如果使用下列命令執行:
    # cd examples/mnist  
    # sudo sh ./create_mnist.sh  

    可能會遇到這個錯誤:./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
    (3)訓練mnist
    如果沒有GPU,只有CPU的話,需要先修改examples/mnist目錄下lenet_solver.prototxt文件,將solver_mode:GPU改爲      solver_mode:CPU,修改後結果如下所示:
    # solver mode: CPU or GPU  
    solver_mode: CPU  

    修改時可以使用vi編輯命令,如果是隻讀文件,不能編輯,可以用sudo命令,比如:
    sudo vi lenet_solver.prototxt  

     先進入命令模式,使用a進入編輯模式,修改完之後,使用esc退出編輯模式,進入末行模式,再使用“:wq”保存修改並退出(“:q!”爲退出但不保存修改)
   修改完成後,再執行下面的命令進行訓練:
    $ cd examples/mnist  
    $ sudo sh ./train_lenet.sh  

最終訓練完的模型存儲爲一個二進制的protobuf文件,CPU模式下訓練這樣的數據集大概需要20分鐘,比較慢。至此,Caffe安裝的所有步驟完結。

參考:
官方安裝文檔:
    http://caffe.berkeleyvision.org/installation.html
caffe+Ubuntu14.0.4 64bit 環境配置說明(無CUDA,caffe在CPU下運行) :
    http://blog.csdn.net/liuxiabing150/article/details/42503389
(*注意無GPU模式下的配置)
全新 ubuntu 14.04 系統安裝 caffe:
    http://www.rthpc.com/plus/view.php?aid=356
全新 ubuntu 14.04 系統安裝 caffe(使用mkl)
    http://www.rthpc.com/plus/view.php?aid=375
安裝cuda的說明:
    http://blog.csdn.net/xizero00/article/details/43227019
自動安裝opencv的腳本:
    https://github.com/jayrambhia/Install-OpenCV
caffe安裝說明參考:
    http://www.cnblogs.com/platero/p/3993877.html
Caffe 安裝配置(CentOS + 無GPU):
    http://www.tuicool.com/articles/uiuA3e
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置說明:
    http://www.cnblogs.com/platero/p/3993877.html
發佈了63 篇原創文章 · 獲贊 13 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章