c++读取numpy数据_通过传递数组数据从c++调用python函数(使用boostpython/numpy)

本文介绍如何借助Boost.Python和NumPy库,从C++代码调用Python函数并传递数组数据。在尝试过程中遇到了'py_state'未定义的错误。主要内容包括设置环境变量、初始化Python解释器、导入Python模块以及执行C++中的Python代码来调用神经网络模型的方法。
摘要由CSDN通过智能技术生成

我想通过传递数组数据从c++调用python函数(c++到python函数)

为此,我使用boostpython和boostnumpy。在

我试过各种方法,但还是有问题。

我遇到错误消息,“py_state”未定义。在

你能告诉我你的建议吗。在

p::exec(“act=探员,行动起来(py_state)”,主\u命名空间

错误--------

最近一次调用(回溯):

文件“”,第1行,输入

名称错误:未定义名称“py_state”

c++代码int main()

{

setenv("PYTHONPATH", ".", 1);

Py_Initialize();

np::initialize();

PyRun_SimpleString("#-*- coding: utf-8 -*-");

p::object main_module = p::import("__main__");

p::object main_namespace = main_module.attr("__dict__");

p::object print = p::import("__main__").attr("__builtins__").attr("print");

p::exec("import sys", main_namespace);

p::exec("import neural_net as nn", main_namespace);

..... c++ code

p::exec("agent = nn.neural_net(22,3)", main_namespace);

np::ndarray py_state = np::from_data(input_state, np::dtype::get_builtin(), p::make_tuple(22), p::make_tuple(sizeof(double)), p::object());

p::object temp_stat = py_state;

print(py_state);

p::exec("act = agent.get_action(py_state)", main_namespace);

^^^^^^^^^^ Here is error

}

Pythion代码(仅供参考)

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值