# 环境:Ubuntu 16.04

配置Caffe

  1. 使用Git直接下载Caffe:git clone https://github.com/BVLC/caffe.git,下载完成后,会在家目录下的下载里找到caffe-master.zip,用unzip命令解压到家目录下,然后重命名为caffe
  2. 因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子,因此,首先将Makefile.config.example的内容复制到Makefile.config: sudo
    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.
     下面的

    1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

    修改为:

    1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
    2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86
  4. 修改makefile文件
    打开makefile文件,做如下修改:
    将:

    NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

    替换为:

    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
  5. make all -j8 #-j根据自己电脑配置决定
  6. 测试

    sudo make runtest

一些出现的问题:

  1. 无法import caffe:A.把环境变量路径放到 ~/.bashrc文件中 sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc;

    B.使环境变量生效 source ~/.bashrc

  2. Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
    make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
    解决办法:
    sudo find / -name libhdf5.so
    find: `/run/user/1000/gvfs': 权限不够
    /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so

    于是将Makefile.config中的
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
    改为
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib

    最后再次make

  3. ImportError:No module named _caffe:sudo make pycaffe

Ubuntu16.04配置Caffe