Ubuntu16.04+CUDA8.0+Caffe配置

来源:互联网 发布:淘宝网上图片无法显示 编辑:程序博客网 时间:2024/06/09 16:31

继上篇博文写了Ubuntu16.04安装CUDA8.0+CUDNN7 :http://blog.csdn.net/lengconglin/article/details/77506386,此篇博文继续Caffe在GPU加速下的配置.

一. 首先参考本人写的 Ubuntu16.04 配置opencv3.1.0+python :http://blog.csdn.net/lengconglin/article/details/76863836
在安装好CUDA之后再来配置opencv3.1会遇到以下错误,这是这是因为opecv3.0与cuda8.0不兼容导致的。

modules/cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declaredtypedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppState, Npp8u* pDeviceMem);

解决办法:修改 ~/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp文件内容,如图:
这里写图片描述
注释掉:#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
修改为:#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

二. 接下来参考 Ubuntu16.04配置cpu版本Caffe :http://blog.csdn.net/lengconglin/article/details/76714338 安装相关的依赖.

三. 配置Caffe
 1.从github上获取caffe
 git clone https://github.com/BVLC/caffe.git
 2.cp Makefile.config.example Makefile.config
 3.打开并修改配置文件:
 sudo gedit Makefile.config #打开Makefile.config文件
 根据个人情况修改文件:
  a.若使用cudnn,则:

#USE_CUDNN := 1  修改成:   USE_CUDNN := 1

  b.若使用的opencv版本是3的,则

#OPENCV_VERSION := 3   修改为:   OPENCV_VERSION := 3

  c.若要使用python来编写layer,则

#WITH_PYTHON_LAYER := 1   修改为   WITH_PYTHON_LAYER := 1

  d.非常重要的一项,将# Whatever else you find you need goes here.下面的 :

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为: INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include  /usr/lib/x86_64-linux-gnu/hdf5/serial/includeLIBRARY_DIRS:=$(PYTHON_LIB) /usr/local/lib  /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

  这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,需要更改这一路径.

 4.打开并修改配置文件,打开makefile文件,做如下修改:

sudo gedit makefile将:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)替换为:NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

  本人在接下来的变异pycaffe时候遇到报错:/home/forest/caffe/include/caffe/util/cudnn.hpp文件中switch分支有未处理的case,加上 default: break;再重新编译就好了.
这里写图片描述

 5.编译测试

make all -j8make pycaffe -j8make test -j8make runtest -j

最终没有错误得到如下结果:
这里写图片描述

最后一步不要忘了设置 Python Caffe ,去到CAFFE文件夹里面的python文件夹, 把当前路径记录下来(pwd). 然后输入以下命令(把记下的路径放在相应地方):

export PYTHONPATH=~/caffe/python:$PYTHONPATH
原创粉丝点击