C++调用python

前言

python在很多方面都非常好用,caffe和tensorflow中很多接口都是python的,但是当主程序是C的话,该如何调用呢?这里需要用到boost::python

实现

1.在CMakeLists.txt中包含和python有关的

include_directories(/usr/include /usr/local/include /usr/include/python2.7 /usr/local/cuda-8.0/include)
link_directories(/usr/lib/python2.7 /usr/local/cuda-8.0/lib64 /usr/local/lib)

2.相关代码

//包含boost::python头文件
#include <boost/python.hpp>
namespace bp = boost::python;

Py_Initialize();  //在C++程序里初始化python
bp::object sys = bp::import("sys");
sys.attr("path").attr("append")(boost::python::str("your path")); //python脚本所在的路径

bp::object os = bp::import("os");
bp::object py_test = bp::import("py_test"); //python脚本的名字

bp::str model_path("your model path"); //模型路径
bp::object model = py_test.attr("get_model")(model_path); //get_model为python脚本中的函数名,同理调用python脚本中其他函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值