首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将2d numpy数组传递给C++ pybind11?

如何将2d numpy数组传递给C++ pybind11?
EN

Stack Overflow用户
提问于 2022-03-09 12:11:48
回答 1查看 209关注 0票数 0

在C++ pybind11包装器中:

代码语言:javascript
运行
复制
.def("calcSomething", 
[](py::array_t<double> const & arr1,
   py::array_t<double> const & arr2)
{
  // do calculation
}
)

在python中:

代码语言:javascript
运行
复制
example.calcSomething(
   arr1=np.full((10, 2), 20, dtype='float64'),
   arr2=np.full((10, 2), 100, dtype='float64')
)

我收到了一条错误信息:

代码语言:javascript
运行
复制
ValueError: array has incorrect number of dimensions: 2; expected 1

那么,如何将2d或nd数组传递给pybind11呢?

EN

Stack Overflow用户

回答已采纳

发布于 2022-03-09 14:22:02

在pybind11 array_t中是一个n维数组,就像numpy数组一样。

因此,对维数没有任何限制。

错误消息可能来自其他地方。不是来自pybind11。

至少,您显示的代码不应导致此行为。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71409168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档