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
 15- mkdir 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
 6- git 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
 5- ANACONDA_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
 4- make all -j4 
 make runtest -j4
 make test -j4
 make pycaffe
 
- 在Anaconda3内安装其他依赖库 - 1 
 2- conda 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!