matlab下对caffe接口的调用

本节内容主要是实现,利用matlab调用caffe中的matlab接口,实现matlab环境下caffe 的使用


GCC降级

编译matlab

运行demo


(一)matlab支持gcc较低版本,而ubuntu14.04支持gcc4.8,所以要先将gcc降级

我的是matlab2013a,支持的是gcc4.4.x系列,所以我就安装gcc4.4,然后降级

1.安装gcc4.4

sudo apt-get install -y gcc-4.4
sudo apt-get install -y g++-4.4

2.降级

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.4 gcc
sudo rm g++
sudo ln -s g++-4.4 g++

3.验证版本

gcc  -v

matlab下对caffe接口的调用_第1张图片


(二)编译matlab

cd 到caffe目录下

sudo make matcaffe

测试

make mattest


出现问题

matlab下对caffe接口的调用_第2张图片

出现问题的原因:编译caffe时候的库与编译matlab相关的库版本不一样

有一个会在matlab目录下/usr/local/MATLAB/R2013a/sys/os/glnxa64;另外一个在/usr/lib/x86_64-linux-gnu/libstdc++.so.6

解决措施:

1.(推荐将matlab下的libstdc++.so.6链接到系统用的那个库的文件去

export LD_LIBRARY_PATH=/usr/local/MATLAB/R2013a/sys/os/glnxa64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

2.(不推荐)将matlab下的libstdc++.so.6 更改名称为libstd++.so.6_back(让matlab找不到这个,但是为了安全还是备份一下吧),这样在执行matlab编译的时候会自动去找系统用的库


执行测试

make  mattest

matlab下对caffe接口的调用_第3张图片


(三)caffe中提供了matlab的demo

An ILSVRC image classification demo is in caffe/matlab/demo/classification_demo.m (you need to download BVLC CaffeNet from Model Zoo to run it).

打开matlab,切换目录到caffe-master/matlab/demo目录下,拷贝cat.jpg到此目录下

运行classification_demo.m,得到1000*1的输出 因为imagnet一共1000类,输出的1000维就是每一类的输出,最大值就是对应的类别

run('classification_demo.m')



特别说明: 此方法 是对于matlab2013a版本 ,对于matlab2014a版本无需降级gcc,需要在Makefile 第410行添加

CXXFLAGS += -std=c++11 


详情请参考

http://blog.csdn.net/weiqi_fan/article/details/71023222

你可能感兴趣的:(开发,matlab,ubuntu)