在ubuntu14.04下安装caffe并且做MATLAB和python的接口

来源:互联网 发布:软件服务合同模板 编辑:程序博客网 时间:2024/05/16 01:58

参考http://www.cnblogs.com/LaplaceAkuir/p/6262632.html?utm_source=itdadao&utm_medium=referral中caffe的安装

主要在运行过程中有如下改变:

1) 

1 cd ~2 git clone https://github.com/BVLC/caffe.git    //从github上git caffe

  如果没有安装git,可以先使用sudo apt-get install git执行安装。

1 cd caffe2 sudo cp Makefile.config.example Makefile.config 3 sudo vim Makefile.config

此时会修改caffe的编译配置,需要修改如下地方:

复制代码
 1 # USE_CUDNN := 1 修改成: USE_CUDNN := 1  2 # OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 3 # WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER:=1 4 #USE_OPENCV := 0 修改成 USE_OPENCV :=1 5 #USE_LEVELDB := 0 修改为 USE_LEVELDB:=1 6 #USE_LMDB := 0 修改位 USE_LMDB :=1 7 //修改matlab目录 8 将MATLAB_DIR := /usr/local/MATLAB/R2014b 9 //最终要的修改 # Whatever else you find you need goes here.下面的

由于是在14.04下进行编译,目前没有用到hdf5,故没有进行下面的修改。

10 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 11 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib   12 修改为: 
  INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial 13 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial //这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径

2) 为防止make matcaffe时出现错误,可以在修改Makefile时,同时进行下述修改,大约第410行那一句话CXXFLAGS += -MMD -MP下面添加CXXFLAGS += -std=C++11,最后是这样

CXXFLAGS += -MMD -MPCXXFLAGS += -std=c++11

修改sudo vim Makefile后,进行编译,出现下述错误(大致是这样,原错误没有保存),


  1.  
    src/caffe/common.cpp: In function ‘void caffe::GlobalInit(int*, char***)’:src/caffe/common.cpp:35:5: error: ‘::gflags’ has not been declared::gflags::ParseCommandLineFlags(pargc, pargv, true);make: *** [.build_release/src/caffe/common.o] Error 1

参考https://stackoverflow.com/questions/30426734/caffe-recompile-libgflags-a-with-fpic-error,进行了下列修改

将下面两个文件

  • caffe/include/caffe/common.hpp
  • caffe/examples/mnist/convert_mnist_data.cpp

中的语句进行注释

// #ifndef GFLAGS_GFLAGS_H_namespace gflags = google;// #endif  // GFLAGS_GFLAGS_H_
3)在编译matcaffe时,会出现下述错误:

Makefile:518: recipe for target 'matlab/+caffe/private/caffe_.mexa64' failedmake: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
参考博客http://blog.csdn.net/sxs11/article/details/70142415,

在Makefile里面,大约第410行那一句话CXXFLAGS += -MMD -MP下面添加CXXFLAGS += -std=C++11,最后是这样

CXXFLAGS += -MMD -MPCXXFLAGS += -std=c++11

然后在caffe根目录下
sudo make cleansudo make all

后来又重装了下,就没有出现4)的错误,不知道是什么原因。

4)最后仍会有错误:


======================================================================ERROR: test_draw (unittest.loader.ModuleImportFailure)----------------------------------------------------------------------ImportError: Failed to import test module: test_drawTraceback (most recent call last):  File "/usr/lib/python2.7/unittest/loader.py", line 254, in _find_tests    module = self._get_module_from_name(name)  File "/usr/lib/python2.7/unittest/loader.py", line 232, in _get_module_from_name    __import__(name)  File "/home/user/caffe/python/caffe/test/test_draw.py", line 6, in <module>    import caffe.draw  File "caffe/draw.py", line 22, in <module>    import pydotImportError: No module named pydot----------------------------------------------------------------------Ran 51 tests in 10.507sFAILED (errors=1)make: *** [pytest] Error 1

目前尚未解决,但是在python下已经可以import caffe,希望有人解决的话可以告知我,谢谢

阅读全文
0 0
原创粉丝点击