您的位置:首页 > 编程语言 > MATLAB

集群管理——开机B7问题(内存条ERROR),caffe编译matlab接口错误解决方法

2017-11-14 11:12 881 查看

开机B7问题

之前闲置了一台计算主机,今天开机发现一直卡在SYSTEM initializing 右下角自检显示卡在B7,开不了机进入BIOS都不行。期初以为是BIOS的问题,于是大费周章地拆开机箱,把显卡旁边的一个纽扣电池扣下来再装上去让bios初始化,结果还是一样。咨询了专业人士,说是内存条的问题,于是把内存条卸下来,用橡皮擦一擦吹一吹,然后换个卡槽上去,问题解决。双十一买了一块内存条给自己电脑装上,由于自己电脑是4个卡槽的,两两对称,之前只有一片。由于不是同一公司的产品,装的时候最好中间隔一片,而且起初的内存条位置不要动,否则会陷入引导问题(亲测)。


caffe编译matlab接口错误

一:切记 matlabaR2014(5)需要的GCC版本是4.7,否侧会报错。


gcc降级到4.7:

$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.7 gcc
$ sudo rm g++
$ sudo ln -s g++-4.7 g++
查询:
$gcc -v
$g++ -v


二:make matcaffe的时候出现了奇怪的问题。
错误如下:


$make matcaffe -j8
MEX matlab/+caffe/private/caffe_.cpp
使用 'g++' 编译。
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_solver(int, mxArray**, int, const mxArray**)’:
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error: no matching function for call to ‘remove_if(std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>)’
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: note: candidate is:
In file included from /usr/include/c++/4.7/algorithm:63:0,
from ./include/caffe/blob.hpp:4,
from ./include/caffe/caffe.hpp:7,
from /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/4.7/bits/stl_algo.h:1166:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>’
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_net(int, mxArray**, int, const mxArray**)’:
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error: no matching function for call to ‘remove_if(std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>)’
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: note: candidate is:
In file included from /usr/include/c++/4.7/algorithm:63:0,
from ./include/caffe/blob.hpp:4,
from ./include/caffe/caffe.hpp:7,
from /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/4.7/bits/stl_algo.h:1166:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error: template argument for ‘template<class _FIter, c
4000
lass _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>’
/home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’

Makefile:518: recipe for target 'matlab/+caffe/private/caffe_.mexa64' failed
make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255


解决方法:

在当前编译的caffe主目录的Makefile里面,建议用gedit打开,搜索CXXFLAGS,找到这句话:

CXXFLAGS += -MMD -MP,然后在这句话下面一行加入:CXXFLAGS += -std=c++11

切记不要把上面一句删了!

重新在caffe中make clean,make -j40 all,make -j40 pycaffe,make matcaffe等就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  集群 管理 caffe
相关文章推荐