CNN之Caffe配置


最近跟師兄一起做一個東西,需要用到CNN,於是找到了Caffe,實驗跑起來了,於是也應實驗室的人要求寫一份配置文檔,還想叫我寫Caffe的文檔。。可是不懂寫啊,而且Caffe也不是很復雜,自己看就好了。

 


 

 

Caffe是實現卷積神經網絡算法的一個框架,主打速度,可以在CPU或者GPU上運行,而且可以隨意切換,具體可以看官網。配置的教程也是按照官網給出的教程

一. 需要准備的東西

1. CUDA (5.0或者5.5)

下載地址:https://developer.nvidia.com/cuda-downloads

下載完之后切換到控制台(Ctrl+Alt+F1~F6),登陸之后把桌面環境給關了:

sudo service lightdm stop

然后執行剛才下載的文件

sudo sh 文件名.sh

安裝完成之后重新打開桌面環境就好了

sudo service lightdm start

可能安裝過程中會提示Mouveau跟Nvidia模塊沖突,這時候需要把Nouveau給禁用了,打開下面文件

sudo vim /etc/modprobe.d/nvidia-graphics-drivers.conf

添加以下內容:

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off

卸載之前安裝過的所有nvidia驅動:

sudo apt-get remove --purge nvidia-*

然后重新生成initrd文件:

sudo update-initramfs -u

添加下面的內容到文件 /etc/default/grub 中

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

然后重復上面步驟。

 

2.MKL

這個軟件叼炸天,賣得也很貴,幸虧可以申請非商業版,去這個地址申請吧(https://registrationcenter.intel.com/RegCenter/NComForm.aspx?ProductID=1461&pass=yes),申請成功之后你會得到一個序列號以及下載地址,下載完並解壓之后按提示安裝就好了,這個安裝特別簡單。

 

3.OpenCV

網上有好事者直接給出了安裝&配置腳本,省心又省力。。下載地址(https://github.com/jayrambhia/Install-OpenCV/tree/master/Ubuntu)

 

4.安裝一些Caffe需要用到的庫:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev

還需要安裝一個名為glog的庫,他主要是提供了強大的日志輸出功能:

wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
./configure
make && sudo make install

 

5.Python

如果你不打算用python,跳過吧。。。

文件 python/requirements.txt 列舉了Caffe依賴的python庫,最簡單的方法是用pip安裝,pip的安裝方法:

curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py

然后開始用pip安裝剛才的依賴吧:

sudo pip install -r python/requirements.txt

啊,是不是速度有點慢?有時候還連接不上。。。換個國內鏡像吧,先打開文件 ~/.pip/pip.conf,加入下面內容:

[global]
index-url = http://pypi.tuna.tsinghua.edu.cn/simple

上面的鏡像是教育網的,你可以改公網的:

http://e.pypi.python.org/simple

好吧,慢慢等吧。。。

 

其實我不會告訴你我是手動裝的,因為總是遇到一堆問題,我都無語了。。問題列表:

  • 安裝h5py

出現下面錯誤:

h5py/api_compat.h:22:18: fatal error: hdf5.h: No such file or directory

解決辦法是

sudo apt-get install libhdf5-serial-dev

然后又提示找不到 mpi.h。。。我改了C_INCLUDE_PATH/CPLUS_INCLUDE_PATH都不行,於是只好手動下載編譯安裝了。。

h5py的github地址:https://github.com/h5py/h5py,下載完之后:

python setup.py build_ext --include-dirs=/usr/include/mpi
sudo python setup.py install
  • 安裝scipy

需要安裝lapack跟gfortran:

sudo apt-get install liblapack-dev gfortran

 

准備工作差不多了吧,開始make吧。。。哦~對了,如果你需要在Matlab上用Caffe,你還得裝Matlab(感覺是廢話。。)

 

二. 編譯

我不會告訴你這是我遇到最多問題的,幫實驗室配了幾台機子,不同電腦出現不同問題,差點崩潰。。。要看到問題,還是得先輸入,需要修改Makefile.config,把路徑都設對。

cp Makefile.config.example Makefile.config
make

好,開始說我遇到的問題了。。。

1. 提示 make: protoc: Command not found,好吧,需要安裝protoc-c

sudo apt-get install protobuf-c-compiler protobuf-compiler

2. 對了,剛才在准備階段裝的cuda/MKL貌似還沒把它們的lib路徑加進去。。。

我都是直接在/etc/ld.so.conf添加配置文件的,添加完之后直接輸入即可完成lib的鏈接工作。

sudo ldconfig -v

主要分了兩個文件:

intel_mkl.conf

/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64

cuda.conf

/usr/local/cuda/lib64
/lib

 

3. 遇到Gtk3 backend requires pygobject to be installed的問題

這是backend的問題,換一個就可以了,需要修改matplotlibrc文件,這個文件可以通過以下python代碼找到:

import matplotlib
matplotlib.matplotlib_fname()

嘗試不同的gui backends即可:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg

 

有些問題沒記錄下來,大概也就不記得了。。

Caffe配置都到此為止。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM