ipython输入“import caffe”,为何出现这些warnings?

我在已经成功编译了Caffe框架,然后在命令行输入ipython,进入ipython界面。
然后,输入“import caffe”,但是命令行出现如下的warnings。
请问,应该如何解决呢?
In [1]: import caffe
/root/code/caffe-master/python/caffe/pycaffe.py:13: RuntimeWarning: to-Python converter for boost::shared_ptr<caffe::Net<float> > already registered; second conversion method ignored.
  from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
/root/code/caffe-master/python/caffe/pycaffe.py:13: RuntimeWarning: to-Python converter for boost::shared_ptr<caffe::Blob<float> > already registered; second conversion method ignored.
  from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
/root/code/caffe-master/python/caffe/pycaffe.py:13: RuntimeWarning: to-Python converter for boost::shared_ptr<caffe::Solver<float> > already registered; second conversion method ignored.
  from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \


Screenshot_from_2016-03-05_07:29:50.jpg

 
已邀请:
http://stackoverflow.com/questions/9888289/checking-whether-a-converter-has-already-been-registered
 
修改方法是python/caffe文件夹里面的_caffe.cpp文件里面。
 
把原来的
 
  bp::register_ptr_to_python<shared_ptr<Net<Dtype> > >();
 
替换为
 
  bp::type_info info;
  const boost::python::converter::registration* reg;
  info = boost::python::type_id<shared_ptr<Net<Dtype> > >(); 
  reg = boost::python::converter::registry::query(info);
  if (reg == NULL)
  {
    bp::register_ptr_to_python<shared_ptr<Net<Dtype> > >();
  }
 
相应的还有几个注册到python的类型,也要做相似的调整。然后,make pycaffe即可。
 
p.s. 我并没有提pull request。。
 

变坏了的好好人 - 机器学习/计算机视觉

赞同来自:

您好,这两天我也遇到了相同的问题,如果您解决了,可以分享一下吗,o(∩∩)o..

himon980

赞同来自:

遇到同样的问题啊,有没有解决呢?貌似是boot版本的问题,但是换了版本还是不行。

CrystalYouth

赞同来自:

同问啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

cjwdeq

赞同来自:

我也出现过,后来我换了一个比较老版本的caffe就好了,也不知道为啥。可以换个版本试一下。

要回复问题请先登录注册