caffe安装:Ubuntu16.04,cuda9.0,opencv2.4.9.1

一:查看是否已经安装cuda,cudnn和opencv。
1.查看 CUDA 版本

cat /usr/local/cuda/version.txt

nvcc -V

2.查看 CUDNN 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

3.查看opencv版本

pkg-config --modversion opencv

如果没有安装请先安装好。
二:开始安装
1.安装依赖包

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 libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential

2.配置环境变量
打开文件:

sudo gedit ~/.bashrc

添加到文件末尾:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PAT

3.安装 caffe
3.1在要需要安装的目录下打开终端

git clone https://github.com/BVLC/caffe.git

3.2进入下载的caffe文件夹,复制文件

cd /caffe
sudo cp Makefile.config.example Makefile.config

3.3修改 Makefile.config 文件内容

打开文件:
sudo gedit Makefile.config

1.应用 cudnn
将
#USE_CUDNN := 1
修改成: 
USE_CUDNN := 1

2.应用 opencv 版本
将 
#OPENCV_VERSION := 3 
修改为: 
OPENCV_VERSION := 3

3.使用 python 接口
将
#WITH_PYTHON_LAYER := 1 
修改为 
WITH_PYTHON_LAYER := 1

4.修改 python 路径
将
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

5.
将
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
		-gencode arch=compute_20,code=sm_21 \
		-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 
    修改为: 
    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

3.4修改 caffe 目录下的 Makefile 文件

1.将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

2.将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

3.5开始编译caffe

make all -j8

3.6可能存在的报错:

/usr/bin/ld: cannot find -lopencv_imgcodecs
   collect2: error: ld returned 1 exit status
   Makefile:583: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
    make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
   make: *** Waiting for unfinished jobs....

原因可能是opencv版本的问题,我的版本是2.4.9.1存在这个报错。

解决办法:
将Makefile.config文件中
OPENCV_VERSION := 3 注释掉,且修改USE_OPENCV := 1
修改后的结果:

USE_OPENCV := 1
#OPENCV_VERSION := 3

3.7运行测试

sudo make runtest -j8

caffe安装:Ubuntu16.04,cuda9.0,opencv2.4.9.1_第1张图片
结果为上图所示,则表示 caffe 已经成功安装

3.8完成啦~~
如果需要安装matcaffe请看
https://blog.csdn.net/weixin_43915208/article/details/87886377

参考文献:
https://blog.csdn.net/yhaolpz/article/details/71375762
https://blog.csdn.net/w113691/article/details/77942408

你可能感兴趣的:(caffe安装:Ubuntu16.04,cuda9.0,opencv2.4.9.1)