Ubuntu14.10+cuda7.0+caffe配置 html
Linux安裝不說了,我這裏安裝的是ubuntu14.10 python
1: Verify You Have a CUDA-Capable GPU linux
執行下面的操做,而後驗證硬件支持GPU CUDA,只要型號存在於https://developer.nvidia.com/cuda-gpus,就沒問題了 git
$ lspci | grep -i nvidia github
2: 、Verify You Have aSupported Version of Linux ubuntu
$ uname -m && cat /etc/*release 瀏覽器
重點是「x86_64」這一項,保證是x86架構,64bit系統 網絡
3: Verify the System Has gcc Installed 架構
$ gcc --version app
沒有的話就先安裝吧,這個是必須的用來編譯CUDA Toolkit,不過Ubuntu 14.10是默認有的
4: Download the NVIDIA CUDA Toolkit
下載地址:https://developer.nvidia.com/cuda-toolkit
驗證地址:https://developer.nvidia.com/rdp/cuda-rc-checksums
$ md5sum filename
例如:md5sum cuda_7.0.28_linux.run ,這個文件的正確 md5 =312aede1c3d1d3425c8aa67bbb7a55e
5: Handle Conflicting Installation Methods
根據官網介紹,以前安裝的版本都會有衝突的嫌疑
因此,以前安裝的Toolkit和Drievers就得卸載,屏蔽,等等(由於我是新系統,沒有安裝過nvidia驅動,因此此步能夠省略)
sudo apt-get --purge remove nvidia*
6: Graphical Interface Shutdown
退出GUI,也就是X-Win界面,操做方法是:同時按:CTRL+ALT+F1(F2-F6),切換到TTY1-6命令行模式。
關閉桌面服務:
$ sudo stop lightdm
7: Interaction with Nouveau
Nouveau是一個開源的顯卡驅動,Ubuntu14.04 默認安裝了,可是它會影響nVidia驅動的安裝,因此只有請他回老家了,sorry!
$ sudo vi /etc/modprobe.d/nvidia-graphics-drivers.conf
寫入:blacklist nouveau
保存並退出: wq!
檢查:$ cat nvidia-graphics-drivers.conf
$ sudo vi/etc/default/grub
末尾寫入:rdblacklist=nouveau nouveau.modeset=0
保存並退出: wq!
檢查:$ cat /etc/default/grub
8: Installation CUDA 7.0
切換到cuda_7.0.28_linux.run所在的目錄,而後執行安裝命令:
$ sudo sh cuda_7.0.28_linux.run
這裏會一路問你各類問題,基本上就是Accept-yes-Enter-yes-Enter-yes-Enter, 其實就是讓你接受協議,而後安裝的默認位置確認等等,recruit就別自定義安裝位置了,默認纔是天堂。
執行完後出現如下結果:
Driver: Installed requirereboot
Toolkit: installskip
Samples: installskip
看到了嗎,這個CUDA安裝包事實上包含了Driver,Toolkit和Samples三部分,第一次安裝時把驅動裝上了,只不過要從新啓動。從新啓動了一下,仍是跟上面同樣,退出GUI,從新執行如下命令:
$ sudo sh cuda_7.0.28_linux.runsu
結果以下:
Driver:Installed
Toolkit: Installed in/usr/local/cuda-7.0
Samples: Installed in/home/caffe, butmissing recommended libraries
此次就安裝成功了,可是缺乏了一些推薦的庫。
9: Extra Libraries
安裝一些必要的庫文件,譬如:OpenGL (e.g., Mesa), GLU, GLUT, and X11 (including Xi, Xmu, andGLX).
$ sudo apt-get install freeglut3-dev build-essential libx11-devlibxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
10: 驅動裝完了,能夠回到GUI界面了,也能夠繼續留這裏玩文本。。。
$ sudo start lightdm
11:POST-INSTALLATIONACTIONS
(1)環境變量配置
執行sudo vi /etc/profile,在後面加上:
exportPATH=/usr/local/cuda-6.5/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
(2) Verify the Installation
a.驗證驅動的版本,其實主要是保證驅動程序已經安裝正常了
$ cat /proc/driver/nvidia/version
b. Compiling the Examples
$ nvcc -V
這裏安裝完,就能夠編譯了,切換目錄到~/NVIDIA_CUDA-7.0_Samples:
$ cd /home/username/NVIDIA_CUDA-7.0_Samples
$ make
這裏要等很長時間。。。
c. Running the Binaries
運行編譯好的文件,例如看看設備的基本信息和帶寬信息:
$ cd bin/x86_64/linux/release
$ ./deviceQuery
$ ./bandwidthTest
若是測試的時候出現說運行版驅動和實際驅動不符,緣由多是由於後面安裝的nvidia-cuda-toolkit更新了配置文件,因此和原始的Cuda-Samples的配置或者是驅動程序有變化,因此檢測沒法編譯經過。考慮下面的解決方法:
a.卸載現有驅動
$ sudo nvidia-installer --uninstall
b.下載合適版本的驅動,並安裝:
下載地址:http://www.geforce.cn/drivers
$ sudo sh ./NVIDIA-Linux-x86_65*.run
c. 重裝CUDA Toolkit
$ sudo sh cuda-7.0
Nvidia Cuda安裝結束(這裏我推薦不要手動裝合適NVIDIA驅動,最好是卸載將上述過程再裝一遍,由於手動裝有可能形成版本不對,到時桌面空白的問題-----我是重裝了系統。。。。。)
1:BLAS安裝
這裏能夠選擇(ATLAS,MKL或者OpenBLAS),我這裏使用MKL,首先下載並安裝英特爾® 數學內核庫 Linux* 版MKL,下載連接是:https://software.intel.com/en-us/intel-education-offerings, 請下載Student版,先申請,而後會立馬收到一個郵件(裏面有安裝序列號),打開照着下載就好了。下載完以後,要把文件解壓到home文件夾(或直接把tar.gz文件拷貝到home文件夾,爲了節省空間,安裝完記得把壓縮文件給刪除喔~),或者其餘的ext4的文件系統中。
接下來是安裝過程,先受權,而後安裝:
$ tar zxvf parallel_studio_xe_2015.tar.gz (若是你是直接拷貝壓縮文件過來的)
$ chmod a+x parallel_studio_xe_2015 -R
$ sudo ./install_GUI.sh
2:MKL與CUDA的環境設置
1. 新建intel_mkl.conf, 並編輯之:
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2. 新建cuda.conf,並編輯之:
$ sudo gedit /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
/lib
3. 完成lib文件的連接操做,執行:
$ sudo ldconfig ?v
1. 下載並編譯OpenCV(官網原版OpenCV:http://opencv.org/), 或者使用本站提供的修改版的安裝包 Install-OpenCV-master(下面的安裝方式使用該包完成,安裝包修改了dependencies.sh文件並增長了OpenCV 3.0.0的安裝文件,同時保留了原來的2.3x和2.4x版)
2. 切換到文件保存的文件夾,而後安裝依賴項:
$ sudo sh Ubuntu/dependencies.sh
3. 切換目錄Ubuntu\3.0\安裝OpenCV3.0.0rc1:
$ sudo sh opencv3_0_0-rc1.sh
保證網絡暢通,由於軟件須要聯網這裏時間較長,請耐心等待。。。,時間很長!
1. Google Logging Library(glog),下載地址:https://code.google.com/p/google-glog/,而後解壓安裝:
$ tar zxvf glog-0.3.3.tar.gz
$ ./configure
$ make
$ sudo make install
若是沒有權限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777glog-0.3.3 -R , 裝完以後,這個文件夾就能夠kill了。
2. 其餘依賴項,確保都成功
$ sudo apt-get install -y libprotobuf-dev libleveldb-devlibsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-devliblmdb-dev protobuf-compiler
1. 安裝pycaffe必須的一些依賴項:
$ sudo apt-get install -y python-numpy python-scipypython-matplotlib python-sklearn python-skimage python-h5py python-protobufpython-leveldb python-networkx python-nose python-pandas python-gflags Cythonipython
$ sudo apt-get install -y protobuf-c-compilerprotobuf-compiler
2. 安裝配置nVidia cuDNN 加速Caffe模型運算(咱們沒有安裝,由於install.txt中說是針對CUDA6.5)
a. 安裝cuDNN
該改版本caffe-master默認支持cudnn-6.5-linux-x64-v2,使用cudnn-6.5-linux-R1會報錯,安裝前請去先官網下載最新的cuDNN。
$ sudo cp cudnn.h /usr/local/include
$ sudo cp libcudnn.so /usr/local/lib
$ sudo cp libcudnn.so.6.5 /usr/local/lib
$ sudo cp libcudnn.so.6.5.48 /usr/local/lib
b. 連接cuDNN的庫文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48/usr/local/lib/libcudnn.so.6.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5/usr/local/lib/libcudnn.so
$ sudo ldconfig ?v
3:切換到Caffe-master的文件夾,生成Makefile.config配置文件,執行:
$ cp Makefile.config.example Makefile.config
4:配置Makefile.config文件(僅列出修改部分)
a. 啓用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)
USE_CUDNN := 1
b. 啓用GPU,去掉註釋"#"
# CPU_ONLY := 1
c: 啓用Intel ParallelStudio XE 2015 Professional Edition for C++ Linux
BLAS := mkl
5: 配置Makefile文件(實現對OpenCV3.x的支持)
查找「Derive include and lib directories」一節,修改「LIBRARIES +=」的最後一行,增長opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
6: 編譯caffe-master!!!"-j8"是使用CPU的多核進行編譯,能夠極大地加速編譯的速度,建議使用。
$ make all -j8
$ make test -j8
$ make runtest -j8
建議:在make前,能夠用以前的./bandwidthTest等命令測試驅動是否正常!
Caffe默認狀況會安裝在$CAFFE_ROOT,就是解壓到那個目錄,例如:$ home/username/caffe-master,因此下面的工做,默認已經切換到了該工做目錄。下面的工做主要是,用於測試Caffe是否工做正常,不作詳細評估。具體設置請參考官網:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
1. 數據預處理
$ sudo shdata/mnist/get_mnist.sh
2. 重建lmdb文件。Caffe支持三種數據格式輸入網絡,包括Image(.jpg, .png等),leveldb,lmdb,根據本身須要選擇不一樣輸入吧。
$sudo shexamples/mnist/create_mnist.sh
生成mnist-train-lmdb 和 mnist-train-lmdb文件夾,這裏包含了lmdb格式的數據集
注:我執行此命令的時候報告說not in gzformat,後來發現是聯網下載的mnist數據有問題,而後我就去網上了下載了mnist數據集,後在ubuntu上手動解壓的,再執行後面的命令。
3. 訓練mnist
$ sudo shexamples/mnist/train_lenet.sh
至此,Caffe安裝的全部步驟完結,下面是一組簡單的數據對比,實驗來源於MNIST數據集,主要是考察一下不一樣系統下CPU和GPU的性能。能夠看到明顯的差異了,雖然MNIST數據集很簡單,相信複雜得數據集,差異會更大,Ubuntu+GPU是惟一的選擇了。
測試平臺1:i7-4770K/16G/GTX 770/CUDA 6.5
MNIST Windows8.1 on CPU:620s
MNIST Windows8.1 on GPU:190s
MNIST Ubuntu 14.04 on CPU:270s
MNIST Ubuntu 14.04 on GPU:160s
MNIST Ubuntu 14.04 on GPUwith cuDNN:30s
Cifar10_full on GPUwihtout cuDNN:73m45s = 4428s (Iteration 70000)
Cifar10_full on GPU withcuDNN:20m7s = 1207s (Iteration 70000)
測試平臺2:技嘉P35X v3,i7-4720HQ@2.6G/16G/NVidiaGTX 980 4G
MNIST Ubuntu 15.04 on GPUwith cuDNN:33s
對比測試1:2*E5-2620(12CPUs)/128G/Tesla K20M/CUDA5.5/CentOS 6.4
MNIST CentOS 6.4 on GPU:294s
對比測試2:Tesla K40M/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:30s
對比測試3:GTX 660/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:49s
對比試驗1是一個不太公平的測試,畢竟性能差很大,極可能不僅僅是由Tesla K20s 和GTX 770帶來的,也多是由於CentOS或者是CUDA5.5(without cuDNN)的影響,但整體上的結論和Caffe官網的 reference performance numbers 一致,對於普通用戶:GTX的性價比高不少。對比試驗2展示了Tesla K40的強大性能,相信對於複雜圖像,它應該有更強勁的表現。(感謝香港城市大學 Ph.D Jingjing、南京理工大學 Ph.D JinLu、華中科技大學 MS LiuMaolin 提供的測試環境和測試數據。)
若是不須要在python和matlab中使用caffe,則不須要安裝python和matlab
1. 安裝IDE運行環境
選擇一個適合你的IDE運行環境,我是用的是Spyder,由於它內置了 iPython 環境,Caffe有很多的程序是基於 iPython 環境完成的。安裝方法很簡單,直接在Ubuntu軟件中心搜索「spyder」便可安裝。
2. iPython NoteBook 安裝
另一個比較推薦的方法是使用iPyhthon NoteBook(基於瀏覽器的Python IDE),特別是適合須要用Python作教程的老師們,能夠直接導出.py, .ipynb, html格式,安裝步驟以下:
$ sudo apt-get install -y ipython-notebook pandoc
啓動(自動打開瀏覽器):
$ ipython nootbook
一個簡單的使用iPython NoteBook生成的html的例子:examples_notebook.html example_notebook.ipynb
3: 環境配置
在Makefile.config文件中配置caffe對python接口的支持
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
PYTHON_LIB := /usr/local/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib
4:在caffe-master目錄下執行$ make pycaffe -j8編譯python
5:在/etc/profile中加入
export PYTHONPATH=/home/hadoop/caffe/caffe-master/python:$PYTHONPATH
這樣就能夠在python中import caffe了。
Matlab安裝,我沒有用到,也沒有安裝,若有須要的能夠在網上找資料!
1:官網 http://caffe.berkeleyvision.org/installation.html
2:https://ouxinyu.github.io/Blogs/20140723001.html歐新宇的博客
3:http://blog.sciencenet.cn/blog-1583812-841855.htmlUbuntu+CUDA6.5+Caffe安裝配置彙總
4:http://www.haodaima.net/art/2823705Caffe+Ubuntu14.04+CUDA6.5新手安裝配置指南