ubuntu16.04+anaconda2+caffe(cpu版)

一、安裝Anaconda2

從官網下載所需的linux版本的可執行文件,執行如下命令:

cd downloadpath
bash Anaconda2-4.2.0-Linux-x86_64.sh
後面就根據提示執行就可以了,最後一步添加環境變量的部分選擇yes,它會自動添加到用戶環境變量文件~/.bashrc文件中.

安裝完成後,爲了防止編譯caffe時文件衝突造成的一些錯誤,需替換掉anaconda包內的ibstdc++,libgomp這幾個4.x版本的gcc編譯動態庫軟連接:

rm -rf /home/your_path/anaconda2/lib/libstdc++.so
rm -rf /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so
rm -rf /home/your_path/anaconda2/lib/libstdc++.so.6
rm -rf /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/your_path/anaconda2/lib/libstdc++.so.6
ln -s /home/your_path/anaconda2/lib/libstdc++.so.6 /home/your_path/anaconda2/lib/libstdc++.so
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6
ln -s /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6 /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so
rm -rf /home/your_path/anaconda2/lib/libgomp.so
rm -rf /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libgomp.so
rm -rf /home/your_path/anaconda2/lib/libgomp.so.1
rm -rf /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libgomp.so.1
ln -s /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0 /home/your_path/anaconda2/lib/libgomp.so.1
ln -s /home/your_path/anaconda2/lib/libgomp.so.1 /home/your_path/anaconda2/lib/libgomp.so
ln -s /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0 /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libgomp.so.1
ln -s /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libgomp.so.1 /home/your_path/anaconda2/pkgs/libgcc-4.8.5-2/lib/libgomp.so
將your_path改成你自己的。

二、安裝編譯caffe

安裝依賴項:

sudo apt-get install libprotobuf-dev protobuf-compiler libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev  
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
從github上獲取caffe:

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

下載完成之後,進入CAFFE文件夾, 進入裏面的PYTHON文件夾,然後輸入
for req in $(cat requirements.txt); do pip install $req; done
(PIP如果沒有安裝得先安裝一下:sudo apt install python-pip)
進入caffe目錄(caffe-master),並複製出所需的Makefile.config文件
sudo cp Makefile.config.example Makefile.config
修改Makefile.config文件(通過vim或是gedit)
# cuDNN acceleration switch (uncomment to build with cuDNN).
# USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1

# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.

ANACONDA_HOME := $(HOME)/anaconda
修改爲:
ANACONDA_HOME := $(HOME)/anaconda2

# PYTHON_INCLUDE := /usr/include/python2.7 \
# /usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
#PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib

#WITH_PYTHON_LAYER := 1 
修改爲 
WITH_PYTHON_LAYER := 1

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
修改爲: 
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 /usr/lib/x86_64-linux-gnu/hdf5/serial

編譯caffe之前,添加環境路徑:

sudo gedit ~/.bashrc
在最後加上

export PYTHONPATH=/home/xiaofeng/caffe-master/python:$PYTHONPATH
export PATH="/home/xiaofeng/anaconda2/bin:$PATH"
export LD_LIBRARY_PATH="/home/xiaofeng/anaconda2/lib":$LD_LIBRARY_PATH


編譯caffe

make all -j8
make test -j8
make runtest -j8

所有過程無報錯,就可以說已經萬事大吉啦



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