序
本文針對想學習使用caffe框架的純新手,如果文中有錯誤歡迎大家指出。
由於我在搭建這個環境的時候參考了許多網上的教程,但是沒有截圖,所以文中圖片大多來源於網絡。
本文沒有安裝matlab的步驟,因此需要安裝並配置matlab的同學請百度matlab安裝。
1. 在Win10環境下搭建Ubuntu14.04雙系統
操作事先請准備好:
一個空的U盤,最好大於4G。
去Ubuntu官網下載一個Ubuntu14.04的iso鏡像文件,注意要64位系統。
下載一些用的到的小工具,如EsayBCD,utraliso
以上的東西都准備齊全就OK了。下面上具體的安裝步驟。
第一步,在我的電腦管理工具里使用磁盤管理工具為Ubuntu系統分配一些硬盤空間,個人建議最少准備100G,因為搭建環境里可能需要安裝各種臃腫的軟件,到時候提示硬盤空間不足就真的尷尬了。分配空間的辦法就是選擇一個盤符點擊壓縮卷,然后輸入一個需要的大小就ok了。
第二步,使用utraliso和Ubuntu鏡像文件在u盤上制作一個安裝盤。使用utraliso打開鏡像文件然后菜單里找到啟動 -> 寫入硬盤映像,然后硬盤驅動器選擇插入的U盤,寫入方式USB-HDD+,直接寫入即可。
第三步,重啟計算機,使用U盤啟動。不同型號的電腦可能進入BIOS或者啟動選項的方式不同,不過無外乎也就是狂按del大法,根據開機瞬間提示點擊F1-F12大法等等。使用U盤啟動就會看到install ubuntu的選項了,選擇后進入就是ubuntu的安裝界面。(不知道如何從U盤啟動的同學請百度一下,教程超多,還都配有照片,很貼心)
第四步,對ubuntu進行分區。首先安裝請選擇‘其他選項’並繼續,然后在一大堆硬盤記錄里找到我們准備好的那個空閑的空間,為ubuntu分區。選擇空閑空間后,點擊左下角的加號即可添加分區。我推薦的分區添加順序是:
1.添加swap交換空間,大小是機器本身內存大小即可,如果硬盤空間充足的同學可以分配到1.5-2倍內存大小。
2.添加'/boot'分區,大小在200MB到500MB即可,如果硬盤富裕,可以考慮1G,在多了也沒什么用。(如圖所示,其他目錄直接點擊/boot的下拉菜單即可)
3.添加‘/’根目錄掛載點,大約40G左右。根目錄可以盡量大一些,因為后面要安裝的各種軟件都要安裝到這里。
4.添加‘/home'用戶主目錄掛載點,把剩下的空間都分配過來就行了。
其實最推薦的分區順序是/boot放在最前作為主分區,其他作為邏輯分區,swap放在最后,不過既然是雙系統,也沒有必要那么講究了。(PS 分區左下角減號可以刪除設定的分區,處女座同學請自行左下角)
第五步,吃個水果聽個歌等着安裝完重啟電腦就行了。重啟以后默認會以ubuntu的grub進行引導,windows系統將不是默認的啟動項,如果想改會windows的UEFI引導,可以使用准備好的EasyBCD處理一下,具體方案直接百度谷歌即可。
至此,Ubuntu安裝完畢。
PS,網上有很多不需要u盤直接easyBCD引導安裝雙系統的,感興趣的同學可以嘗試,但是如果你的電腦裝有雙硬盤特別是使用出廠原裝系統的筆記本,這個需要一點點相關的技術經驗了,因為要改啟動的默認盤符地址,因此我是不推薦的,借小伙伴個U盤,省去了千千萬萬的煩惱。
PPS,linux下使用終端十分頻繁,可以安裝下面的一個小插件,讓文件瀏覽器里的右鍵菜單中增加‘在終端中打開’省去了cd目錄的麻煩,十分推薦!
輸入命令安裝nautilus-open-terminal
sudo apt-get install nautilus-open-terminal
安裝完成后重啟電腦,就可以在右鍵菜單里直接打開終端了!
2. 安裝CUDA7.5
直接去NVIDIA的官網下載CUDA7.5針對Ubuntu的安裝包即可,網址https://developer.nvidia.com/cuda-downloads,如圖選擇即可。
下載完這個1.9GB的安裝包后,切記不要手賤去雙擊使用什么軟件中心打開並手賤安裝,這樣並沒有什么卵用。老老實實打開終端,使用cd命令切換到安裝包所在的文件夾里,輸入下面的命令:
sudo dpkg --install cuda-repo-<distro>-<version>.<architecture>.deb
sudo apt-get update
sudo apt-get install cuda
等待安裝完以后,請老老實實的重啟電腦,加載顯卡驅動。如果你能順利的重啟,請在ubuntu的系統設置->詳細信息->概況里查看是否已經成功讀取出了你的NVIDIA顯卡。
能順利完成以上動作的同學請跳過下面一段。。。
如果臉黑了 重啟失敗了,那么就在開機選擇操作系統中選擇ubuntu高級然后進入后可以看到不同的ubuntu啟動和其recovery模式,嘗試一邊那些非recovery的選擇看看哪個能進去,進去了就可以執行下面的步驟了,進不去的同學,請喝口水,百個度查查解決方案或者重裝吧。
如果進去了系統,然后在ubuntu的系統設置->詳細信息->概況里發現並不是nvidia的顯卡而還是intel的集成顯卡,那么請在此執行sudo apt-get update然后重啟電腦。
講道理的話,到這就應該順順利利安裝完CUDA了。
然后可以運行運行simple測試一下:在終端下操作
先配置環境變量
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
安裝simples
cuda-install-samples-7.5.sh ~
進入到simple目錄,編譯並執行nbody樣例程序
cd ~/NVIDIA_CUDA-Samples_7.5/5_Simulations/nbody
make
./nbody
成功的話應該會彈出一個圖形窗口,然后是一個粒子爆炸的模擬,只要能運行這個了就說明CUDA安裝成功了。
然后鏈接lib文件,新建cuda.conf:
/usr/local/cuda/lib64
/lib
保存退出,更新設置:
$ sudo ldconfig -v
CUDA的simples里有很多有趣又實用的程序,感興趣的同學可以自己編譯運行並讀讀源碼學習。
可選:安裝CUDNN開發庫
去官網注冊並下載CUDNN (cudnn-7.5-linux-x64-v4.0-prod)這里推薦v4,老版本穩定,v5可能會遇到編譯不過的問題。然后進行安裝
3. 搭建Caffe環境
Caffe需要依賴許多的工具,例如BLAS,CUDNN之類的,我們要一步一步的安裝,這里切記要有耐心。
Caffe下載:推薦放在主目錄下,方便用
git clone https://github.com/BVLC/caffe.git
第一步 安裝一些開發必備包
一般都是已經安裝完了 我們這里只是再檢驗一下。
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 libhdf
第二步 安裝BLAS
這里可選擇Intel 的MKL,OpenBLAS和ATLAS,運行效率上ATLAS < OpenBLAS < MKL,配置難易程度上ATLAS < MKL < OpenBLAS。
安裝ATLAS: 輸入命令
sudo apt-get install libatlas-base-dev
完成!
安裝MKL,下載地址https://software.intel.com/en-us/intel-education-offerings,選擇英特爾® 數學內核庫 Linux* 版MKL(Intel(R) Parallel Studio XE Cluster Edition for Linux 2016),這個其實是要收費的,但是使用一個學生郵箱可以免費申請到1年,下載后直接使用如下命令解壓並安裝,安裝是圖形化界面,直接裝就行了。需要8.2GB空間,如果前面小伙伴只給了根目錄20GB不到的大小,那么可以跳過這一步了,硬盤很可能就不夠了。
tar zxvf parallel_studio_xe_2016.tar.gz
chmod a+x parallel_studio_xe_2016 -R
sudo sh install_GUI.sh
安裝完成后鏈接lib文件,如CUDA一樣
新建intel_mkl.conf:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
保存退出,更新設置:
$ sudo ldconfig -v
第三步,安裝OpenCV
這里推薦3.0版本,不用去官網找,這里分享一個轉載的文件,直接運行安裝即可:
鏈接: http://pan.baidu.com/s/1kVpOUHL 密碼: vfvb
下載后進入安裝目錄,安裝依賴項:sudo sh Ubuntu/dependencies.sh
然后進入Ubuntu\3.0執行安裝:$ sudo sh opencv3_0_0.sh
安裝需要聯網,大概需要30分鍾左右,喝個茶休息休息。。。。
第四步,安裝其他依賴的庫
1. Google Logging Library(glog),下載地址:https://code.google.com/p/google-glog/,然后安裝,命令如下:
3. 安裝一些python的依賴
我個人不推薦使用anaconda,因為編譯時還要額外設置目錄,很麻煩。。。
直接裝一個pip:
sudo apt-get install python-pip
然后以后缺什么直接根據缺少的包名 pip install <package-name>即可。
切換到caffe目錄下的python目錄,
sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
然后使用sudo su命令進入root,再檢查一邊requirement.txt里的包是不是都安裝全了
sudo su
for req in $(cat requirements.txt); do pip install $req; done
如果抱錯了,一般就是缺少依賴包,二話不說,直接pip install <package-name>
至此,編譯Caffe需要的東西就安裝全了,如果想用matlab的同學,可以‘購(po)買(jie)’一個matlab自行安裝,推薦matlab2014a(網上破解資源多,安裝教程也多)
4. 編譯並測試
編譯Caffe的關鍵就是caffe的配置文件了,在caffe目錄下有一個Makefile.config.example文件,這是對於配置文件的樣例兼說明文件,英語還可以的同學建議仔細閱讀其中的說明,真的很有用!!
如果讀不下去了,那就直接照着改吧。。。
首先,復制一份Makefile.config.example並命名Makefile.config
cp Makefile.config.example Makefile.config
然后按照如下修改:
1.啟用cudnn,去掉注釋符號 #
USE_CUDNN := 1
2.啟用OpenCV 3.0, 去掉注釋符號 #
OPENCV_VERSION =3
3. 如果你使用了intel MKL,那么啟用mkl(默認是ATLAS)
BLAS := mkl
OK,現在可以嘗試編譯Caffe了(燒個香拜個佛吧,希望沒有錯誤)
可以在語句后面加入 -j數字 一樣的命令多核編譯,例如 make all -j4 四核編譯,可以加速不少
make all
make test
make runtest
make pycaffe (編譯python支持)
如果安裝了matlab,那么需要編譯caffe對matlab的支持部分:
在配置文件里設置 MATLAB_DIR := /usr/local/MATLAB/R2014a
make matcaffe
如果上述編譯都已經正常通過了,那么可以進行測試了。
測試1 python引用
在caffe\python目錄下進入python(終端切換到這個目錄,輸入python)
輸入import caffe
如果不報錯,恭喜你,編譯通過了!
測試2 運行caffe自帶的example,MNIST數據集測試
在caffe根目錄下執行:
獲取數據集
sh data/mnist/get_mnist.sh
建立輸入
sh examples/mnist/create_mnist.sh
訓練
sh examples/mnist/train_lenet.sh
如果不報錯的話,就會不斷的輸出迭代次數,loss,err之類的信息。
至此 0基礎搭建ubuntu caffe框架結束。