python调c++之caffe实现
Posted zhengmeisong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python调c++之caffe实现相关的知识,希望对你有一定的参考价值。
上午听人讨论python调c++的问题,第一反应是caffe怎么实现的,晚上回家看了一眼。
其实只要找到具体实现的文件位置就好了,在python/caffe/_caffe.cpp里,第42行有个不怎么显眼的定义:
namespace bp = boost::python;
所以caffe是利用boost扩展库实现的python调用
顺便,不完全调研了下python调c++方法:
ctypes - 平台兼容性差,参考[2]
cython - 性能下降20%,参考[1]
swig - 性能下降70%,参考[1]
boost:python
参考[1]和[2],cython和swig会不同程度的导致c++性能下降,ctypes平台兼容性差,反正我都没实现过,道听途说。
另外,这里有比较简明的cython和swig代码示例。
以上是关于python调c++之caffe实现的主要内容,如果未能解决你的问题,请参考以下文章