问题标签 [xtensor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

c++ - xtensor - `xshared_expression` 不能接受 xfunction xexpression

从 cpp 文件复制:

错误似乎是xshared_expression需要strides_type,而一般的xfunctions没有这个属性:

我们怎样才能xfunctions传入xshared_expressions

0 投票
1 回答
178 浏览

c++ - 通过 xarray 中的索引分配值分配整个数组

我使用 C++ 的“xtensor”库。在它的帮助下,我尝试创建一个包含用户数据的数据表类。有时我需要通过用户 ID 列表对一些用户组数据进行子集化。对于这个任务,我使用布尔标志系统来标记我想要复制到新表的用户。

在子集函数中有以下代码:

但是这行代码:which(index) = true; 将“true”值分配给所有“which”数组元素。我究竟做错了什么?

0 投票
2 回答
1110 浏览

c++ - 如何使用指针用数据填充 xtensor 数组

我正在尝试xtensor从库中的 blob 数据创建一个数组caffe。使用例如 bymutable_cpu_data()中的函数返回指向数据的指针。这可能吗?如果是,请您举个例子。我发现了一些使用 OpenCV 的例子,但它们很相似,这使得像数据这样的矩阵上的操作变得更加容易。caffefloat* data = output->mutable_cpu_data();xtensorMatxtensornumpy

0 投票
1 回答
121 浏览

xtensor - 如何用复杂的数据类型填充 xtensor 数组

在这里转述,但这就是问题所在

然而这很好

问题是我正在编写一个接受任意 xtensor 数组的函数,例如。

所以总的来说这个

会失败。我看过这个,但不确定这是否已实现,或者如何使用它,找不到文档。但总的来说,我认为它仍然应该与 std::complex 一起使用。

谢谢你的帮助!

编译器输出:

0 投票
1 回答
43 浏览

xtensor - 根据 xtensor 中的位置生成带有元素的张量

我正在尝试构建一个数据结构来表示 xtensor 中的 RGB 图像(一个 3D 矩阵,形状为(WIDTH,HEIGHT,3)。每个“像素”包含由像素坐标函数收集的数据。基本上,我想复制这段代码在 python 中的作用:

其中单元格信息返回代表颜色通道的 3 个元素列表。

我想正确的方法应该是使用 xgenerator,但老实说,我无法理解如何使用该类。

0 投票
1 回答
53 浏览

excel - 如何从 vba 使用 xtensor?

只需点击 xtensor,我喜欢它,我会尝试从 vba(excel)中使用它。为了保持这个“测试”简单,我打算只使用双精度矩阵,它们作为 LPSAFEARRAY 传递给 C/C++ dll。

  1. 在 dll 中,使用接收到的 LPSAFEARRAY 构建一维适配器,使用数据指针和大小(行 x 列)。我认为这对于映射操作来说已经足够了。

  2. 棘手的部分是如果我需要矩阵,主要问题是数据以 fortran(列优先)顺序传输。我没有找到任何 2D 适配器,所以我的猜测是我必须改造上面的 1D 适配器:

    /li>

以上是正确的,还是有更简单、更直接的方法?

这种访问数据的方法是否存在速度损失?

0 投票
1 回答
125 浏览

c++ - 将数组分配给更高维数组

这与高维 Xtensor 数组中的分配非常相似/相关。

我或多或少有同样的问题,想知道是否有更好的方法可以做?最后,标记为正确的答案最终仍然需要按元素分配,并且并没有真正提供一次将整个数组分配给给定轴的选项。

例如,在 numpy-python 中,我可以做一些类似的事情

运行时会返回

现在在 xtensor 中,我想做一些类似的事情,即沿特定轴分配整个数组。我尝试的是

但这不起作用 - 本质上这是与 OP 相同的问题。现在建议的解决方案是

这给出了正确的结果 - 但是,这仍然需要我在孔轴上循环,而不是直接将数组分配给整个事物。将此与

如果我有一个一维数组,这允许我一次分配整个数组。在高维结构中沿给定轴分配数组是否有任何等价物?

0 投票
1 回答
278 浏览

c++ - c ++如何从xtensor展平视图,而不进行深度复制?

是否可以直接从 xtensor 展平视图?就像是:

如果我尝试直接展平视图,结果会有所不同。

我正在考虑直接扁平化,以获得更干净和优化的代码。有没有办法做到这一点?或者我应该在展平之前将视图复制到辅助变量?

Obs.: flattening directly outputs (wrong answer):
16390, 16391, 16392, 16393, 16394, 16395, 16396, 16397, 16398, 16399, 16400, 16401, 16402, 16403, 16404, 16405, 16406, 16407, 16408, 16409 , 16410, 16411, 16412, 16413, 16414, 16415, 16416。

在展平输出之前复制我需要的内容(内核窗口):16390、16391、16392、16520、16521、16522、16650、16651、16652、18080、18081、18082、18210、18211、2、1912、78344、18212、18334 , 19771, 19772, 19900, 19901, 19902, 20030, 20031, 20032

0 投票
1 回答
543 浏览

python - xtensor 将 numpy 数组传递给具有 xt::xtensor 参数类型的函数

我正在玩 xtensor,这样我就可以从 Python 中使用它。但是,xtensor 的一个吸引力在于它也很容易为 R 进行绑定,因此只需编写一次算法,然后为 python 编写绑定和为 R 编写绑定,就大功告成了。

我从 python 开始,当我将参数类型设置为 xt::pyarray 时,我的代码可以正常运行。

但是,如果我尝试进行 R 绑定,我怀疑 xt::pyarray 将不合适。此外,xt::pyarray 可能是 xt::xarray 类型。我记得在某处读到 xt::xtensor 可以更好地优化,因为事先知道维数。所以 xt::xtensor 是要走的路。

所以我做了这个改变,太棒了——它仍然有效。但是现在,我不知道如何从 numpy 调用它。如果我按照以前的方式调用它,使用 np.ndarrays,这将不再有效并通知我类型不匹配。我也试过用 转换 np.ndarrays np.asmatrix(x, dtype=np.float32),但这也不起作用。

我应该如何从 numpy 调用这个函数才能使它工作?

0 投票
2 回答
489 浏览

python - 如何设置 CMakeLists.txt 文件以启动并运行 xtensor-python 示例代码

我正在尝试使用此处找到的 xtensor-python 示例。

我安装了 xtensor-python、pybind11 和 xtensor,还创建了一个 CMakeLists.txt。

从 /build 我跑了。$ cmake .. $ 制作

它构建没有错误。

我的 CMakeLists.txt 看起来像这样。

我的 example.cpp 文件。

我的python文件。

但是我的 python 文件无法导入我的 example.cpp 文件。

我是cmake的新手。我想知道如何使用 CMakeLists.txt 正确设置这个项目