caffe學習筆記3:ubuntu15.04 caffe配置

記錄在ubuntu15.04環境下配置caffe cpu模式的過程,無NVIDIA顯卡,無cuda,安裝過程不算麻煩,只要思路清晰,快速定位問題,1個小時左右完成。

1 安裝依賴

1.1 安裝opencv

這裏下載安裝腳本,有linux各個發行版本的。,安裝過程中要保證聯網。進入ubuntu文件夾。

  • 如果要安裝最新的版本直接運行sudo sh opencv_latest.sh.
  • 如果要安裝指定版本的,就在opencv_install.sh中,在最開始,對version, downloadfile 這兩個變量指定值,如:
$version = "3.1.0" 
$downloadfile = "OpenCV-3.1.0.zip" 
$dlddir = "OpenCV" 

然後sudo sh opencv_install.sh.

因爲安裝腳本中這一句:

wget -O $downloadfile http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/$downloadfile/download 

是根據這兩個變量去sourceforge下載對應版本的opencv的,可以去sourceforge看看再賦值.

opencv的安裝過程如果不出錯,是不需要人工干預的,安裝腳本執行完成後,會提示==OpenCV 3.1.0 ready to be used==

安裝完opencv之後可以參考這裏的測試代碼測試。

1.2 安裝Boost

運行sudo apt-get install libboost-all-dev,如果找不到包,更新一下源sudo apt-get update再安裝

1.3 安裝BLAS

MKL,OpenBLAS和ATLAS都提供了BLAS,這裏使用ATLAS,運行sudo apt-get install libatlas-base-dev

1.4 安裝其他依賴

主要是caffe數據讀寫的一些依賴:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler protobuf-c-compiler liblmdb-dev

1.5 安裝Glog

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

1.6 安裝gflags

wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install

1.7 安裝lmdb

lmdb是caffe數據集文件的存儲格式。在這裏下載zip

unzip lmdb_mdb.master.zip
cd lmdb_mdb.master/libraries/liblmdb
make && make install

2 安裝caffe

2.1 下載

git clone git://github.com/BVLC/caffe.git

2.2 編譯

cd caffe #進入caffe根目錄
cp Makefile.config.example Makefile.config
vim Makefile.config

修改Makefile.config確保如下變量的值:

CPU_ONLY := 1 #去掉前面的註釋
BLAS := atlas  
OPENCV_VERSION := 3 #opencv版本號大於3則去掉前面的註釋
MATLAB_DIR := /usr/local/MATLAB/R2015a #如果要使用matcaffe,去掉這行的註釋,路徑填matlab安裝路徑
#有時在編譯鏈接時hdf5的路徑找不到,直接加在這裏:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

在caffe根目錄運行

make all -j8 #可使用並行編譯
make test
make runtest

2.3 測試lenet

把…caffe/examples/mnist/lenet_solver.prototxt中設置爲==solver_mode: CPU==。

cd caffe #進入caffe根目錄
./data/mnist/get_mnist.sh #獲取mnist數據
./examples/mnist/create_mnist.sh #創建用於訓練網絡的lmdb文件
./examples/mnist/train_lenet.sh

在終端會輸出訓練過程中的迭代次數和loss變化,最終輸出準確率,有99%+

3 使用caffe

3.1 pycaffe

運行make all pycaffe
在py文件中導入caffe模塊,如果導入成功,就可以用pycaffe愉快地coding啦。

caffe_root = '/home/zhuyi/software/caffe' #填自己的caffe根目錄
import sys
sys.path.append(caffe_root + '/python') #添加系統路徑

import caffe

在caffe/examples中有ipynb的demo可以學習,在caffe/examples/pycaffe/layer中有python層的寫法示範。

3.2 matcaffe

運行make all matcaffe,保證gcc/g++版本爲4.7.x(因爲其他版本不能mex)
在matlab腳本中使用caffe前添加:

caffe_root = '/home/zhuyi/software/caffe' %填自己的caffe根目錄 
addpath([caffe_root '/matlab']); % 添加搜索路徑

如果matlab中使用caffe出現錯誤信息:

/../sys/os/glnxa64/libstdc++.so.6: version
`GLIBCXX_3.4.20' not found (required by /usr/lib/x86_64-linux-gnu/libprotobuf.so.9)

原因在這裏,需要在matlab啓動前指定這個lib:
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章