您的位置:首页 > 编程语言 > Python开发

python 进行caffe 数据可视化的 “No to_python (by-value)” 问题解决

2016-03-22 10:01 661 查看
使用python 进行caffe 数据可视化的时候可能会遇到下面的错误:

No to_python (by-value) converter found for C++ type: boost::shared_ptr<caffe::Blob<float> >

No to_python (by-value) converter found for C++ type: boost::shared_ptr<caffe::Net<float> >

No to_python (by-value) converter found for C++ type: boost::shared_ptr<caffe::Layer<float> >

上面的错误是由于boost-1.60.0 引起的,如果是boost-1.59.0,就没有上面问题,但是很容易无意中升级安装包的时候把boost也升级了,就会造成上面的问题。

解决的办法是在caffe/python/caffe/中对 _caffe.cpp 进行相应的修改:(参考:https://github.com/BVLC/caffe/issues/3494)

// Fix for caffe pythonwrapper for boost 1.6

boost::python::register_ptr_to_python<boost::shared_ptr<Blob<Dtype> > >();

boost::python::register_ptr_to_python<boost::shared_ptr<Net<Dtype> > >();

boost::python::register_ptr_to_python<boost::shared_ptr<Layer<Dtype> > >();

// End fix

然后回到caffe 目录, 重新编译pycaffe:

caffe$ make pycaffe -j16

其中-j16 是使用多核cpu 进行编译,可以快速完成,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: