Caffe (a framework for convolutional neural network algorithms) 配置過程
1. 準備
首先在項目主頁上下載程序包: https://github.com/BVLC/caffe
此外, 由於Caffe中的矩陣運算基於Intel MKL庫, 所以還需要下載Intel MKL軟件包的Linux版本。 這個軟件有Non-Commercial License的版本, 需要申請, 很容易。 申請地址爲: http://software.intel.com/en-us/non-commercial-software-development
申請後會給你的郵箱發一個序列號, 以及軟件下載地址。
2. 配置環境
2.1 安裝顯卡驅動
首先需要安裝NVIDIA驅動, 以及Cuda 5.5 (這裏下載)。下載完成後是兩個.run文件
ctrl+alt+F1 進入tty,首先關掉lightdm
sudo stop lightdm
然後用sudo sh XXX.run 安裝驅動, 然後再安裝cuda。一般而言cuda包含了驅動, 如果單獨安裝了更新版本的驅動的話, 那麼在安裝cuda時, 會問你是否安裝驅動,選擇不要安裝。
裝好後sudo start lightdm, 最後ctrl + alt + F7 推出tty。
2.2 安裝MKL
解壓後運行
sudo ./install_GUI.sh
會像windows一樣彈出一個安裝界面,按提示安裝即可。
然後按照Caffe的說明安裝需要的庫
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost1.48-dev
此外, 作者默認你已經配置好了OpenCV環境。可以在下述地址直接下載一個腳本來安裝。但是在執行該腳本時, 記得先安裝cmake
https://github.com/jayrambhia/Install-OpenCV
2.4 Google Logging Library (glog)
還需要下載一個google logging library: 下載地址
下載完後用如下命令解壓並安裝
tar zxvf glog-0.3.3.tar.gz ./configure make sudo make install
2.3 安裝OpenCV
3. 安裝Caffe
解壓源程序, 查看makefile.config中的路徑是否都正確, 然後運行如下命令
make all
這時候可能會出現如下錯誤
/usr/bin/ld: cannot find -lboost_system
嗯, 這個還有一個依賴項作者忘了提到了, 所以還需要安裝libboost-dev。 用新立得安裝或者下列命令都可以
sudo apt-get install libboost-all-dev
這樣再次make all就沒問題了。
4. 運行MNIST例子
首先進入data文件夾, 然後按照作者說明執行如下命令來下載和準備數據
cd $CAFFE_ROOT/data ./get_mnist.sh
成功下載後應該多了兩個文件
CAFFE_ROOT/data/mnist-train-leveldb
,
CAFFE_ROOT/data/mnist-test-leveldb
.
然後訓練網絡
cd $CAFFE_ROOT/data GLOG_logtostderr=1 ../examples/train_net.bin lenet_solver.prototxt
這時報了個錯說找不到libmkl_rt.so。 可是確實已經裝上了。於是將intel MKL的庫放入共享庫路徑裏
export LD_LIBRARY_PATH = /opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
筆者是在 /etc/ld.so.conf.d/ 文件夾下增加了一個文件命名爲intel_mkl_settings.conf。 然後在裏面添加MKL庫路徑
/opt/intel/mkl/lib/intel64
此時再次執行
../examples/train_net.bin lenet_solver.prototxt
就可以成功訓練啦~~