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

本文详细介绍了在Ubuntu环境下安装和编译Caffe深度学习框架的过程,包括配置Makefile.config、解决编译过程中的常见错误及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考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 caffe
2 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 -MP
CXXFLAGS += -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' failed
make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
参考博客http://blog.youkuaiyun.com/sxs11/article/details/70142415,

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

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

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

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

4)最后仍会有错误:


======================================================================
ERROR: test_draw (unittest.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_draw
Traceback (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 pydot
ImportError: No module named pydot


----------------------------------------------------------------------
Ran 51 tests in 10.507s

FAILED (errors=1)
make: *** [pytest] Error 1

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值