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

使用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 进行编译,可以快速完成,问题解决。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值