Ubuntu14.04+cuda8.0+Anaconda3下编译caffe
踩了很多坑,终于在Ubuntu14.04+cuda8.0+Anaconda3环境下成功编译Caffe。
安装纯净的Ubuntu14.04,安装显卡驱动、cuda以及cudnn并配置好系统环境变量,这里不进行详述。
使用
bash Anaconda3-4.2.0-Linux-x86_64.sh
命令安装Anaconda3,这里假定安装目录为/home/xx/anaconda3
,安装结束的时候会问是否将Anaconda3目录加入环境变量,选择是。打开终端,安装依赖库
1
sudo apt-get install libboost1.55-all-dev libleveldb-dev libsnappy-dev liblmdb-dev libhdf5-serial-dev libgoogle-glog-dev libgflags-dev
注意,安装
libboost1.55-all-dev
,Ubuntu14.04默认安装的是1.54版本;另外不要用apt-get
安装libprotobuf-dev
,因为apt-get安装的是2.x版本,不支持python3;这里也不安装libopencv-dev
,同样是因为apt-get安装的版本没有附带TIFF支持,后期编译会报错。之后,添加符号链接
1
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py34.so.1.55.0 /usr/lib/x86_64-linux-gnu/libboost_python3.so
编译并安装Protobuf3
进入任意目录,然后依次执行以下命令即可,完成之后系统及python都会完成protobuf3.0.0的安装。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15mkdir protobuf && cd protobuf
mkdir cpp && cd cpp
wget https://github.com/google/protobuf/releases/download/v3.0.0/protobuf-cpp-3.0.0.tar.gz
tar xvf protobuf-cpp-3.0.0.tar.gz && cd protobuf-3.0.0
./configure && make
make check
sudo make install
sudo ldconfig
cd ../..
mkdir python && cd python
wget https://github.com/google/protobuf/releases/download/v3.0.0/protobuf-python-3.0.0.tar.gz
tar xvf protobuf-python-3.0.0.tar.gz && cd protobuf-3.0.0/python/
python setup.py build
python setup.py test
python setup.py install编译并安装openCV3
同样进入任意目录,在终端内依次执行以下命令即可。
1
2
3
4
5
6git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D WITH_EIGEN=ON -D WITH_CUDA=ON -D WITH_CUBLAS=ON ..
make -j4
sudo make install编译caffe
1
2
3$ git clone https://github.com/BVLC/caffe.git
$ cd caffe
$ cp Makefile.config.example Makefile.config然后更改Makefile.config文件内容,改变地方主要有以下几点:
去掉
USE_CUDNN := 1
前面#去掉
OPENCV_VERSION := 3
前面#用#注释掉原始的python目录,改为以下内容(假定anaconda3安装在
/home/xx/anaconda3
下面)1
2
3
4
5ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python3.5m \
$(ANACONDA_HOME)/lib/python3.5/site-packages/numpy/core/include \将
PYTHON_LIB
改为PYTHON_LIB := $(ANACONDA_HOME)/lib
去掉
WITH_PYTHON_LAYER := 1
前面#随后开始编译
1
2
3
4make all -j4
make runtest -j4
make test -j4
make pycaffe
在Anaconda3内安装其他依赖库
1
2conda install scikit-image hdf5 h5py
conda install -c menpo opencv3=3.1.0将caffe目录下的python目录添加至环境变量,在~/.bashrc下添加一行,注意更改为你的实际目录。
export PYTHONPATH="/home/xx/caffe/python:$PYTHONPATH"
在终端内启动python,输入
import caffe
命令进行测试,如果没有报错说明已经编译安装成功了。enjoy!