欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matlab下对caffe接口的调用

程序员文章站 2024-03-08 09:01:04
...

Caffe的配置可以参考我的博文:http://blog.csdn.net/rt5rte54654/article/details/54168961

我的机器环境: Ubuntu 16.04, CUDA 8.0, gcc 5.4.0, Matlab R2016b.

Caffe官网提供了Matlab接口的配置方法,核心也就两个命令

  1. make matcaffe  
  2. make mattest  
matlab下对caffe接口的调用
make matcaffe
make mattest
在执行这两个命令之前,还有两个准备工作:

(1)修改caffe文件夹下的Makefile.config中Matlab的路径,即添加

  1. MATLAB_DIR := /usr/local/R2016b  
matlab下对caffe接口的调用
MATLAB_DIR := /usr/local/R2016b
上面显示的是我自己的Matlab安装路径,大家可以改成自己的。

(2)将Matlab的安装路径添加到PATH中

先打开.bashrc文件,

  1. sudo gedit ~/.bashrc   
matlab下对caffe接口的调用
sudo gedit ~/.bashrc 
在该文件末尾加入如下语句 
  1. export PATH=$PATH:/usr/local/R2016b/bin   
matlab下对caffe接口的调用
export PATH=$PATH:/usr/local/R2016b/bin 

做完这两个,就可以执行命令make matcaffe了。在这里还要说一下gcc版本的问题。配置Matlab接口之前,我看了很多网上的文档,说要降低gcc的版本。所以我在配置成功caffe之后把gcc版本从5.4.0降到了4.9.3,然后运行make matcaffe,出现如下错误

matlab下对caffe接口的调用

但是我找了好久一直找不到错误的原因,后来我把gcc版本恢复到5.4.0之后就可以了,也就是说在我的机器环境下不需要改动gcc的版本。在5.4.0版本下运行

  1. make matcaffe  
matlab下对caffe接口的调用
make matcaffe
结果如下

matlab下对caffe接口的调用

显示了一个警告,说是gcc的版本不支持。这个没有关系,只是警告,不是错误,最下面显示还是MEX成功了。

然后运行命令

  1. make mattest  
matlab下对caffe接口的调用
make mattest
报错如下

matlab下对caffe接口的调用

出现的错误与http://blog.csdn.net/u012746763/article/details/50419153中提到的完全一样,因此我采纳了文中的建议,执行了下面的命令

  1. export LD_LIBRARY_PATH=/usr/local/R2016b/sys/os/glnxa64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6  
matlab下对caffe接口的调用
export LD_LIBRARY_PATH=/usr/local/R2016b/sys/os/glnxa64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
接着重新运行命令
  1. make mattest  
matlab下对caffe接口的调用
make mattest
又出现了下面的错误

matlab下对caffe接口的调用
这与http://www.cnblogs.com/laiqun/p/6031925.html中列出的错误是一致的,所以我又使用了该文中的建议,执行下列命令

  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6  
matlab下对caffe接口的调用
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6
最后再次执行命令
  1. make mattest  
matlab下对caffe接口的调用
make mattest
成功!

matlab下对caffe接口的调用
转自:http://blog.csdn.net/rt5rte54654/article/details/54742981

Caffe的配置可以参考我的博文:http://blog.csdn.net/rt5rte54654/article/details/54168961

我的机器环境: Ubuntu 16.04, CUDA 8.0, gcc 5.4.0, Matlab R2016b.

Caffe官网提供了Matlab接口的配置方法,核心也就两个命令

  1. make matcaffe  
  2. make mattest  
matlab下对caffe接口的调用
make matcaffe
make mattest
在执行这两个命令之前,还有两个准备工作:

(1)修改caffe文件夹下的Makefile.config中Matlab的路径,即添加

  1. MATLAB_DIR := /usr/local/R2016b  
matlab下对caffe接口的调用
MATLAB_DIR := /usr/local/R2016b
上面显示的是我自己的Matlab安装路径,大家可以改成自己的。

(2)将Matlab的安装路径添加到PATH中

先打开.bashrc文件,

  1. sudo gedit ~/.bashrc   
matlab下对caffe接口的调用
sudo gedit ~/.bashrc 
在该文件末尾加入如下语句 
  1. export PATH=$PATH:/usr/local/R2016b/bin   
matlab下对caffe接口的调用
export PATH=$PATH:/usr/local/R2016b/bin 

做完这两个,就可以执行命令make matcaffe了。在这里还要说一下gcc版本的问题。配置Matlab接口之前,我看了很多网上的文档,说要降低gcc的版本。所以我在配置成功caffe之后把gcc版本从5.4.0降到了4.9.3,然后运行make matcaffe,出现如下错误

matlab下对caffe接口的调用

但是我找了好久一直找不到错误的原因,后来我把gcc版本恢复到5.4.0之后就可以了,也就是说在我的机器环境下不需要改动gcc的版本。在5.4.0版本下运行

  1. make matcaffe  
matlab下对caffe接口的调用
make matcaffe
结果如下

matlab下对caffe接口的调用

显示了一个警告,说是gcc的版本不支持。这个没有关系,只是警告,不是错误,最下面显示还是MEX成功了。

然后运行命令

  1. make mattest  
matlab下对caffe接口的调用
make mattest
报错如下

matlab下对caffe接口的调用

出现的错误与http://blog.csdn.net/u012746763/article/details/50419153中提到的完全一样,因此我采纳了文中的建议,执行了下面的命令

  1. export LD_LIBRARY_PATH=/usr/local/R2016b/sys/os/glnxa64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6  
matlab下对caffe接口的调用
export LD_LIBRARY_PATH=/usr/local/R2016b/sys/os/glnxa64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
接着重新运行命令
  1. make mattest  
matlab下对caffe接口的调用
make mattest
又出现了下面的错误

matlab下对caffe接口的调用
这与http://www.cnblogs.com/laiqun/p/6031925.html中列出的错误是一致的,所以我又使用了该文中的建议,执行下列命令

  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6  
matlab下对caffe接口的调用
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6
最后再次执行命令
  1. make mattest  
matlab下对caffe接口的调用
make mattest
成功!

matlab下对caffe接口的调用
转自:http://blog.csdn.net/rt5rte54654/article/details/54742981