歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Caffe在Ubuntu 14.04 64bit 下的安裝

Caffe在Ubuntu 14.04 64bit 下的安裝

日期:2017/2/28 13:59:54   编辑:Linux教程

最近因為各種原因,裝過不少次Caffe,安裝過程很多坑,為節省新手的時間,特此總結整個安裝流程。

關於Ubuntu 版本的選擇,建議用14.04這個比較穩定的版本,但是千萬不要用麒麟版!!!比原版體驗要差很多!!!

Caffe的安裝過程,基本采納 這篇文章 然後稍作改動,跳過大坑。

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置說明 http://www.linuxidc.com/Linux/2015-04/116444.htm

1. 安裝開發依賴包

sudo apt-get install build-essential
sudo apt-get install vim cmake git
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

2. 安裝CUDA

一般電腦都有雙顯卡:Intel 的集成顯卡 + Nvidia 的獨立顯卡。要想兩個顯卡同時運行,需要關閉 lightdm 服務。

2.1 到 這裡 下載安裝包,選Linux x86 下的 Ubuntu 14.04, Local Package Installer,下載下來的文件為

  cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

2.2 在BIOS設置裡選擇用Intel顯卡來顯示或作為主要顯示設備

2.3 進入Ubuntu, 按 ctrl+alt+F1 ,登入自己的賬號,然後輸入以下命令

sudo service lightdm stop

2.4 安裝 CUDA,cd 到安裝包目錄,輸入以下命令:

sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb
sudo apt-get update
sudo apt-get install cuda 

安裝完後重啟電腦。

3. 安裝cuDNN

3.1 到這裡注冊下載,貌似注冊驗證要花一兩天的樣子,嫌麻煩的可以直接到Linux公社資源站下載

資源包下載地址

------------------------------------------分割線------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用戶名:ftp1.linuxidc.com

密碼:www.linuxidc.com

在 2015年LinuxIDC.com\7月\Caffe在Ubuntu 14.04 64bit 下的安裝

下載方法見 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割線------------------------------------------

3.2 完後到下載目錄,執行以下命令安裝

tar -zxvf cudnn-6.5-linux-x64-v2.tgz
cd cudnn-6.5-linux-x64-v2
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.6.5
sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5 libcudnn.so

3.3 設置環境變量

gedit /etc/profile

在打開的文件尾部加上

PATH=/usr/local/cuda/bin:$PATH
export PATH

保存後執行以下命令使之生效

source /etc/profile

同時創建以下文件

sudo vim /etc/ld.so.conf.d/cuda.conf

內容是

/usr/local/cuda/lib64

保存後,使之生效

sudo ldconfig

4. 安裝CUDA Sample 及 ATLAS

4.1 Build sample

cd /usr/local/cuda/samples
sudo make all -j8

我電腦是八核的,所以make 時候用-j8參數,大家根據情況更改,整個過程有點長,十分鐘左右。

4.2 查看驅動是否安裝成功

cd bin/x86_64/linux/release
./deviceQuery

出現以下信息則成功

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 670"
  CUDA Driver Version / Runtime Version          6.5 / 6.5
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 4095 MBytes (4294246400 bytes)
  ( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores
  GPU Clock rate:                                1098 MHz (1.10 GHz)
  Memory Clock rate:                             3105 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 524288 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 670
Result = PASS

4.3 安裝ATLAS

ATLAS是做線性代數運算的,還有倆可以選:一個是Intel 的 MKL,這個要收費,還有一個是OpenBLAS,這個比較麻煩;但是運行效率ATLAS < OpenBLAS < MKL

我就用ATLAS咯:

sudo apt-get install libatlas-base-dev 

5. 安裝Caffe需要的Python包

網上介紹用現有的anaconda,我反正不建議,因為路徑設置麻煩,很容易出錯,而且自己安裝很簡單也挺快的。

首先需要安裝pip

sudo apt-get install python-pip

再下載caffe,我把caffe放在用戶目錄下

cd
git clone https://github.com/BVLC/caffe.git

再轉到caffe的python目錄,安裝scipy

cd caffe/python
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

最後安裝requirement裡面的包,需要root權限

sudo su
for req in $(cat requirements.txt); do pip install $req; done

如果提示報錯,一般是缺少必須的包引起的,直接根據提示 pip install <package-name>就行了。

安裝完後退出root權限

exit 

6. 編譯caffe

首先修改配置文件,回到caffe目錄

cd ~/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config

這裡僅需修改兩處:

i) 使用cuDNN

# USE_CUDNN := 1 

這裡去掉#,取消注釋為

USE_CUDNN := 1 

ii) 修改python包目錄,這句話

PYTHON_INCLUDE := /usr/include/python2.7 \
  /usr/lib/python2.7/dist-packages/numpy/core/include

改為

PYTHON_INCLUDE := /usr/include/python2.7 \
  /usr/local/lib/python2.7/dist-packages/numpy/core/include

因為新安裝的python包目錄在這裡: /usr/local/lib/python2.7/dist-packages/

接下來就好辦了,直接make

make all -j4
make test
make runtest
make pycaffe

這時候cd 到caffe 下的 python 目錄,試試caffe 的 python wrapper安裝好沒有:

python
import caffe

如果不報錯,那就說明安裝好了。

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved