安装编译
在编译caffe前先安装一下库。
sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
libhdf5-serial-dev protobuf-compiler
sudo apt-get install –no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
然后进入caffe目录,先make clean,再make all -j8开始编译。
安装时会发现找不到hdf5.h
error: hdf5.h: No such file or directory
sudo apt-get install libhdf5-serial-dev
### in Makefile.config
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
###in Makefile
#LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_regex m hdf5_hl hdf5
LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_regex m hdf5_serial_hl hdf5_serial
出现Unsupported gpu architecture ‘compute_20’
nvcc fatal : Unsupported gpu architecture ‘compute_20’
解决方法,删除Makefile.config中cuda指令集的行
# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the lines after *_35 for compatibility.
#CUDA_ARCH :=
#-gencode arch=compute_20,code=sm_20 \
#-gencode arch=compute_20,code=sm_21
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_61,code=sm_61
出现链接错误
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
/usr/bin/ld: cannot find -lopenblas
安装对应的库
sudo apt-get install libopenblas-dev
出现链接问题 undefined reference to symbol ‘_ZN2cv6imreadERKNS_6StringEi’
解决办法 修改Makefile.config 指定opencv版本为opencv3
#Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3