1. 程式人生 > >深度學習——被Intel caffe支配的恐懼(一)

深度學習——被Intel caffe支配的恐懼(一)

一、Intel caffe在Ubuntu上的安裝配置

1. 安裝配置MKL-DNN
我用的是CPU版本的caffe,安裝配置MKL-DNN可以提高caffe訓練的速度。英特爾MKL-DNN專為在英特爾架構上加快深度學習框架的速度而設計,包含高度向量化和執行緒化的構建模組,支援利用C和C++介面實施卷積神經網路。
(1)安裝關聯元件

sudo apt install cmake
sudo apt install doxygen

(2)下載並建立原始碼

git clone https://github.com/01org/mkl-dnn.git

下載完成後,你會在你的Home目錄下發現一個mkl-dnn目錄。進入目錄,並下載包含經過優化的一般矩陣乘法(GEMM)函式的庫:

cd mkl-dnn
cd scripts
./prepare_mkl.sh
cd ..

這個指令碼建立了一個名為external的目錄,然後下載並提取庫檔案至mkl-dnn/external/mklml_lnx*目錄。
在mkl-dnn目錄中執行嚇一跳命令,通過命令建立了一個build子目錄,並執行CMake和Make,以生成構建系統:

mkdir -p build && cd build && cmake .. &&make

(3)驗證構建

make test

這個用時較長,反正我的電腦風扇呼呼的吹了好久的風,當看到100% tests passed,說明驗證成功。
(4)庫文件
獲取英特爾MKL-DNN文件。

cd ~/mkl-dnn/build
make doc

(5)完成安裝

sudo make install

2. 安裝opencv
(1)安裝需要的第三方環境
opencv原始碼可以在我的百度網盤下載
連結:http://pan.baidu.com/s/1kVgikx5 密碼:5v9i

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

(2)使用cmake編譯原始碼
把opencv的檔案放在根目錄下

cd opencv/build
cmake -D CMAKE_BUILD_TYPE=Rlease -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..

(3)編譯安裝

make -j7 && make install

這一步比較久~
3. caffe的配置安裝
到此為止,caffe的先前準備工作已經全部over,現在開始裝caffe啦~
(1)安裝caffe需要的庫
我用的是Ubuntu 14.04版本

sudo apt-get update &&
sudo apt-get -y install build-essential git cmake &&
sudo apt-get -y install libprotobuf-dev libleveldb-dev libsnappy-dev &&
sudo apt-get -y install libhdf5-serial-dev protobuf-compiler &&
sudo apt-get -y install --no-install-recommends libboost-all-dev &&
sudo apt-get -y install libgflags-dev libgoogle-glog-dev liblmdb-dev &&
sudo apt-get -y install libatlas-base-dev

(2)安裝mkl
可點選此處下載,下載前需要註冊。
安裝完成之後,配置環境

echo 'source /opt/intel/bin/compilervars.sh intel64' >> ~/.bashrc

(3)克隆caffe

cd ~
git clone https://github.com/intel/caffe.git
cd caffe
echo "export CAFFE_ROOT='pwd'">>~/.vashrc
source ~/.bashrc

(4)編輯Makefile.config

cp Makefile.config.example Makefile.config
vi Makefile.config

將Makefile.config中CPU_ONLY:=1註釋去掉,並新增

BLAS:=mkl
BLAS_DIR:=/opt/intel/include
BLAS_LIB:=/opt/intel/lib/intel64

(5)編譯caffe

mkdir build
cd build
cmake -D CPU_ONLY=ON -D CMAKE_PREFIX_INSTALL=usr/local ..
make all
make install

(6)安裝python相關元件

sudo apt-get -y install gfortran python-dev python-pip
cd ~/caffe/python
for req in $(cat requirements.txt); do sudo pip install $req; done
sudo pip install scikit-image 
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ \
  /usr/local/include/python2.7/numpy
cd ~/caffe
make pycaffe -j NUM_THREADS
echo "export PYTHONPATH=$CAFFE_ROOT/python" >> ~/.bashrc
source ~/.bashrc

所有步驟成功之後,你就可以走上Intel caffe的不歸路了(/微笑)