我的caffe安裝經歷:歷時兩天,終於把caffe安裝配置成功了,多謝師弟的幫忙。雖然有些教程已經比較詳細,但有些細節不夠清楚,很容易出現問題,因此結合自己安裝過程中遇到的問題,對安裝過程進行一個總結,希望自己以後安裝的過程中少走彎路,同時也希望能夠對後來者有所幫助。(注:本文檔是在參考其他博文基礎上進行的,引用如有不妥之處,請告知,謝謝!)
Ubuntu14.04+sogou+Cuda7.0+opencv3.0+mkl+matlab2014b+caffe
我用的linux版本是ubuntu14.04.03,本次caffe安裝是在重裝完系統之後直接安裝的,因此也把系統重裝,搜狗輸入法安裝等過程包含在本文檔中,以便以後重裝。推薦英文版安裝,中文版沒有嘗試,怕會遇到一些問題,最好預留出100G的空間來安裝ubuntu)
本文檔主要分爲7個部分:如下,
第一部分: ubuntu系統重裝
第二部分:搜狗輸入法的安裝
第三部分: nVidia驅動以及cuda的安裝
第四部分: opencv3.0安裝
第五部分: mkl安裝及調試
第六部分: Matlab安裝及建立快捷方式
第七部分: caffe的安裝及測試
第一部分:ubuntu系統重裝
一、正確刪除之前安裝的ubuntu:
第1步,修復MBR
1.進入win7,下載個軟件MbrFix,放在C:\windows\system32文件夾中
2.點擊開始》所有程序》附件》命令提示符
3.在命令提示符中輸入MbrFix /drive 0 fixmbr /yes
如果不能運行,就“右鍵MbrFix.exe”—>“兼容性”—>選擇“以管理員身份運行此程序”,然後再進行提示符輸入。
4.此時已經修復了MBR,
5.重啓電腦,直接進入windows
第2步,刪除Ubuntu
在 Win7下,在計算機(Computer)上點右鍵->管理(Manage)->磁盤管理(DiskManagement):有4個沒有卷標名稱(卷標名稱就是驅動器號,如C:,D:,E:,…)的分區就是Ubuntu的分區,分別在這4個分區上點右鍵,選擇刪除卷,刪除卷之後,分區窗口顏色會變爲綠色,並合併爲一個窗口。
第3步,打開EasyBCD,刪除Linux啓動項,至此,完成Ubuntu的卸載
二、安裝新的Ubuntu
第一步,重啓電腦,插入系統盤(U盤) (如果用U盤啓動,注意修改啓動方式,一般電腦重啓的時候會有提示,F2, or F12, or delete),進入BIOS。
第二步, 進入系統後,先在左側欄選擇語言--English,然後選擇直接安裝
第三步,安裝方式選擇第三個,即其他方式(自定義安裝)
第四步,硬盤分區,在沒有分配盤符的預留好了的分區上,按照如下方式分區:
\boot 200M ext4
swap 4G
\ 35G ext4
\home 剩餘 ext4
最下面的從哪個盤啓動選擇剛纔分出的\boot 然後按照提示繼續即可
第五步,安裝完成後重啓電腦,應該是沒有選項,(注意進入BIOS把系統啓動順序改回來,不然又進入系統重裝模式)直接進入windows系統
第六步,進入windows系統後,打開EasyBCD,添加啓動項,選擇Linux,啓動分區選擇剛纔分配的200M(這裏顯示的應該是190M,sda6),保存就可以了。
第二部分:搜狗輸入法的安裝
從搜狗輸入法官網上http://pinyin.sogou.com/linux/?r=pinyin下載Linux版本的輸入法,選擇64位。
Ubuntu 14.04可以通過進入軟件中心直接進行安裝,而不用通過命令行進行安裝,比較方便。 打開軟件中心,點“install”進行安裝即可。如下(爲已經安裝過的,點擊”重新安裝處的“install”即可)
接下來就是在終端中輸入im-config,這時會出現一個對話框,點擊OK,有一個對話框,點擊Yes,你會看到下面的對話框。如果上面是fcitx,就不用管,直接關閉;如果不是,就修改上面的ibus爲fcitx.點擊OK即可。又會出現一個對話框,接着就是OK,最後重啓電腦。 如下圖,
之後,在終端中輸入:fcitx-config-gtk3出現對話框如下。點擊對話框左下角的(+)按鈕,彈出另一個對話框如上圖所示。然後,取消Only Show Current Language(很重要,否則不能找到剛安裝過的搜狗輸入法!)最後,在輸入框中輸入sogou,選中點擊OK即可。添加完後將其放置到列表的最下方,注意,是最下方!!!然後默認輸入法就是搜狗輸入法了。
第三部分: nVidia驅動以及cuda的安裝
到nVidia官網上下載最新版:https://developer.nvidia.com/cuda-toolkit或者到https://developer.nvidia.com/cuda-toolkit-archive,下載以前的版本,本文檔使用cuda7.0 cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb。根據版本自己選擇即可。
一、CUDA Repository
$ sudodpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb
$ sudoapt-get update
二、CUDA Toolkit
$ sudo apt-get install -y cuda
三、Environment Variables
$ exportCUDA_HOME=/usr/local/cuda
$ export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
$ PATH=${CUDA_HOME}/bin:${PATH}
$ export PATH
至此,cuda的安裝和配置完成。還有另一種安裝方法,可以參考博客http://blog.csdn.net/yaoxingfu72/article/details/45363097,這種方法步驟較多,容易出錯,建議按照本文檔的方式安裝。
第四部分: opencv3.0安裝
首先到官網上下載原版的opencv: http://opencv.org/。
在進行安裝之前,先要檢測一下電腦上是否已經安裝了gcc和g++, gcc –version或者g++ --version, 因爲opencv編譯需要用到,如果沒有安裝的話,進行安裝。一般來說,gcc在ubuntu14.04中已經自帶了,安裝g++,可以從官網上下載,然後自行安裝或者是直接用命令行進行安裝,如下:
$ sudo apt-get install g++
如果提示不能安裝或者提示需要依賴其他的庫時,則執行如下操作:
$ sudo apt-get -f install
$ sudo apt-get update
$ sudo apt-get install g++
通過上述方法,一般都能安裝成功,如果實在不行,則自行百度之,或者是直接官網下載然後進行安裝。
對opencv進行解壓,cd到被解壓文件
一. 建立release並配置
$ cd ~/opencv
$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local .. (注意後面有兩個點)
二. Enter the created temporarydirectory (<cmake_binary_dir>) and proceed with:
$ make
$ sudo make install (此處時間可能較長,耐心等待)
三. 配置openCV參數設置
$ sudo gedit/etc/ld.so.conf.d/opencv.conf 加入:/usr/local/lib
使用下面這條命令:
$ sudo ldconfig
$ sudo gedit/etc /bash.bashrc 加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ export PKG_CONFIG_PATH
至此,OpenCV安裝配置完畢
第五部分: mkl安裝及調試
首先下載並安裝英特爾® 數學內核庫 Linux* 版MKL,下載鏈接是:https://software.intel.com/en-us/intel-education-offerings, 請下載Student版,先申請,然後會立馬收到一個郵件(裏面有安裝序列號,後邊會用到),打開照着下載就行了。下載完之後,解壓文件。
一、接下來是安裝過程,先授權,然後安裝:
$ cd (壓縮包所在路徑)
$ tar zxvf (壓縮包名)(如果你是直接拷貝壓縮文件過來的)
$ chmod a+x (壓縮包名) -R
$ sudo ./install_GUI.sh
下面的步驟就是一步步點next了(我的在prerequsition中會警告說缺少lib32庫,忽略即可)
二、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. 完成lib文件的鏈接操作,執行:
$ sudo ldconfig -v
第六部分: Matlab安裝及建立快捷方式
一、 matlab安裝
1、掛載安裝鏡像:sudo mount -o loop myfile.iso /media/mnt #掛載ISO文件,使用參數 -o loop mnt爲已經建立好的目錄。
2、執行安裝,終端切換到掛載目錄mnt: 執行: sudo./install
3、選擇不聯網安裝
4、獲取序列號 在解壓文件夾/crack/readme.txt中獲取
5、根據自己的要求選擇安裝,一般來說按照”典型“安裝就好。
6、安裝完成後,默認路徑是:/usr/local/MATLAB/ R2014b
1) 在此目錄下的bin目錄下,有一個matlab文件,終端切換到此目錄執行 sudo ./matlab
2)選擇掛載目錄(mnt)下的series目錄下的license.lic文件,完成激活
3) 用解壓文件夾/crack/libmwservices.so替換 /usr/local/MATLAB/R2014b/bin/glnxa64/ libmwservices.so
至此,matlab安裝及激活完成!
二、 建立快捷方式
1、 自己從網上找個圖標,把圖標放在了/usr/local/MATLAB/ R2014b/目錄下,命名爲matlab.png
2、 $ sudo gedit /usr/share/applications/matlab.desktop // 相當於在 /usr/share/applications/建立了matlab.desktop 快捷方式,系統所以軟件的快捷方式都放在這裏, 並輸入:
[Desktop Entry]
Name=Matlab2014b
Comment=Matlab2014b
Exec=sh/usr/local/MATLAB/ R201b/bin/matlab –desktop
Icon=/usr/local/MATLAB/R2014b/matlab.png
Terminal=false
Type=Application
Categories=Application;
3、 在左上角的application菜單中搜索到matlab啦,點擊,看能否打開,如果能夠打開,恭喜你,快捷方式設置成功,如果不能打開,則在終端中,切換到/usr/local/MATLAB/ R201b/bin/目錄下,執行如下操作:
$ sudo chmod -R a+rw~/.matlab
然後,再在application中搜索matlab,點擊,應該就沒有問題啦。
至此,matlab快捷方式設置成功
第七部分: caffe的安裝及測試
官網下載caffe包https://github.com/BVLC/caffe/
一、安裝其他依賴項
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 777 glog-0.3.3-R ,裝完之後,這個文件夾就可以kill了。
2. 其他依賴項,確保都成功
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-devlibopencv-dev libboost-all-dev libhdf5-serial-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devprotobuf-compiler
二、安裝Caffe並測試
1. 安裝pycaffe必須的一些依賴項:
$ sudo apt-get install python-numpy python-scipy python-matplotlibpython-sklearn python-skimage python-h5py python-protobuf python-leveldbpython-networkx python-nose python-pandas python-gflags Cython ipython
$ sudo apt-get install protobuf-c-compiler protobuf-compiler
2. 切換到Caffe的下載文件夾,然後執行:
$ cp Makefile.config.example Makefile.config
修改新生成的Makefile.config文件,修改“BLAS := mkl”,這個非常重要。
3.修改Makefile文件(不是Makefile.config)
在位置((LIBRARIES+= glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs))處
添加opencv_imgcodecs
這一步非常重要,否則編譯後會出現錯誤如下:
CXX/LD -o.build_release/tools/convert_imageset.bin
.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&,int)'.build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&,cv::_InputArray const&, std::vector >&, std::vector >const&)'
原因就是opencv3.0.0把imread相關函數放到imgcodecs.lib中了,而非原來的imgproc.lib
4. 編譯caffe-master!!!"-j4"是使用CPU的多核進行編譯,可以極大地加速編譯的速度,建議使用。
$ make all –j4
$ make test –j4
$ make runtest –j4
當lib中出現很多錯誤時,可以用如下方法解決:
1). Set LD_LIBRARY_PATH:
$ udo gedit/etc/ld.so.conf.d/cuda.conf (creates a new file).
文件中加入:
/usr/local/cuda/lib64
/usr/local/cuda/lib
Save and quit the editor.
2. Reload LD_LIBRARY_PATH:
$ sudo ldconfig
三、使用MNIST數據集進行測試
Caffe默認情況會安裝在$CAFFE_ROOT,就是解壓到那個目錄,例如:$home/username/caffe-master,所以下面的工作,默認已經切換到了該工作目錄。下面的工作主要是,用於測試Caffe是否工作正常,不做詳細評估。具體設置請參考官網:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
1. 數據預處理
$ shdata/mnist/get_mnist.sh
2. 重建lmdb/leveldb文件。Caffe支持三種數據格式輸入網絡,包括Image(.jpg, .png等),leveldb,lmdb,根據自己需要選擇不同輸入吧。
$ shexamples/mnist/create_mnist.sh
生成mnist-train-lmdb和 mnist-train-lmdb文件夾,這裏包含了lmdb格式的數據集
3. 訓練mnist
$ shexamples/mnist/train_lenet.sh
這時你會在終端窗口中看到caffe的訓練過程
至此配置caffe的工作已經完成了!!!
參考文獻:
http://blog.csdn.net/yaoxingfu72/article/details/45363097
http://blog.csdn.net/helei001/article/details/46950853
http://jingyan.baidu.com/album/ad310e80ae6d971849f49ed3.html?picindex=1