准备工作
sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel
sudo yum install gflags-devel glog-devel lmdb-devel
#CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
rpm -i cuda-repo-*.rpm
yum install cuda-10-0
nvcc --version
#BLAS
# 使用atlas编译提示找不到库,找不到原因
#sudo yum install atlas-devel
sudo yum install openblas-devel
下载源码
git clone https://github.com/BVLC/caffe
配置Makefile
cp Makefile.config.example Makefile.config
USE_CUDNN := 1
# 由于编译机器环境的opencv是自己编译opencv3.4.0,配置以下两项
OPENCV_VERSION := 3
# Uncomment to use `pkg-config` to specify OpenCV library paths.
USE_PKG_CONFIG := 1
# 注释20 21 compatibility
# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
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_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
#不编译PYTHON接口,注释PYTHON_INCLUDE与PYTHON_LIB
#PYTHON_INCLUDE
#PYTHON_LIB
# BLAS choice
BLAS := open
BLAS_INCLUDE := /usr/include/openblas/
编译
make all
make test
make runtest
若有多核,可以并行编译加速,-j8代表8线程同时编译,多线程并行编译线程数可以选择CPU的核心数
make all -j8