官网:http://caffe.berkeleyvision.org/installation.html
CSDN:https://blog.csdn.net/u011511601/article/details/80109122
系统环境
ubuntu18.4
cuda10.0
opencv3.4
python2.7+python3.6
1,安装依赖
sudo apt-get install libleveldb-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo cp Makefile.config.example Makefile.config
2,修改Makefile.config
sudo gedit Makefile.config
#USE_CUDNN := 1
改为
USE_CUDNN := 1
#OPENCV_VERSION := 3
改为
OPENCV_VERSION := 3
#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
修改CUDA_ARCH
根据提示,For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility
本机CUDA是10,则删掉
-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
3,修改Makefile
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
改为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
4,编译
make all
make test
make run test
5,注意
分发:运行make distribute
以创建一个distribute
目录,其中包含分发到其他计算机所需的所有Caffe标头,编译的库,二进制文件等。有些程序在引入caffe头文件时会以 distribute为根目录,所以make distribute
必不可少
。
速度:为了更快地构建,请执行并行编译,make all -j8
其中8是要编译的并行线程数(线程数的一个不错的选择是计算机中的内核数)。