问题标签 [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.
visual-c++ - 根据列值在 2D 伸肌表中查找单元格
我想根据表中一列中的匹配单元格读取 2D xtensor 表的一个单元格。
考虑 std::string 类型元素的二维表:
我想读取第一列=='fo'的行中第三个单元格的值,即'P'
在互联网上搜索建议使用似乎未实现的函数 xt::keep() 的代码。如何使用实际实现的 xt 函数来执行此操作?
c++ - xt::xexpression 在此上下文中受到保护
考虑以下代码:
这无法编译,并出现以下错误:test.cpp:24:66: error: ‘xt::xexpression<D>::~xexpression() [with D = float]’ is protected within this context
. 当更改xt::xexpression<float>
(正确的返回类型)时,auto
它会编译并运行。如果xt::expression
是受保护的,为什么可以auto
访问它?有没有一种方法可以指定类型而不是使用auto
,而不评估 x 表达式?(即我不能有a
be的类型xt::xarray
,因为这会强制评估)。
numpy - xtensor 相当于 numpy a[a>3] = 1
标题说 - 什么是 numpy 的 xtensor 等价物
?
它看起来像xt::filter
作品:
但看起来 numpy 版本要快得多。我已经用 xsimd 构建了 xtensor,但在这种情况下似乎没有帮助。有没有更好、更简单的方法来做到这一点?
编辑
我发现filtration
,它确实更快(大约 3 倍),但仍然比 numpy 慢(大约 10 倍)......
解决方案(谢谢汤姆!)
是最快的 - 比 快大约 10 倍filtration
,所以它看起来像是 simd-d!
python - C++ 中是否有任何 scipy interp1d 等价物?
我一直致力于将 python 库移植到 C++,因为我需要制作一个依赖它的程序,但事实上它是在 python 中使用 cython 和各种库(如 scipy 等),这使得将它移植到各种平台变得困难。我能够找到诸如 xtensor 之类的库来帮助我将 NumPy 调用调整为等效代码,以便以准确的方式移植代码,但是我在这一行有点挣扎:
它似乎依赖于 scipy 的 interp1d 函数,我在 C++ 中真的找不到任何等价物
我想知道是否有人知道我可以在 C++ 中调整这条线的方法?
如果有帮助,这里是我正在处理的函数的完整原始代码的链接 https://github.com/r9y9/nnmnkwii/blob/master/nnmnkwii/preprocessing/f0.py
c++ - 带有 xtensor fftw 的多维数组的 fft 如何工作?
我正在为我的项目使用 fftw 的xtensor 集成,我想在 3D 数组的最后一个轴上做一个 fft。
如果我这样做:
它输出这个:
这不是我所期望的。但是,如果我在 1D xtensor 上执行 fft,它可以正常工作。我找不到合适的文档,所以如果有人知道怎么做,请告诉我。谢谢 :)
c++ - C++ lambda 函数中强制 decltype 的情况
有一个名为xtensor的张量代数库。a * b + c
它具有特殊的语义:当您形成多个变量的表达式(如)时,您通常将它们std::move
或std::forward
它们放入该表达式中。当您在表达式中多次使用变量时,这样做的一种好方法(如官方文档中所述)是创建额外的 lambda 函数,该函数采用该变量并在内部多次使用它。显然你不能简单地写sin(std::move(A)) + cos(std::move(A))
。你必须写这样的东西:
问题是这段代码在没有decltype
.
在xtensor的代码中,您可以找到注释:
auto
如果可能, lambda 函数会自动矢量化xsimd
(请注意,尾随-> decltype(...)
对于特征检测是必需的)。
我的问题是:为什么可能有必要以decltype
这样一种方式使用返回类型的自动扣除是不够的(或足够但不是特别有效)?
我不明白为什么decltype
必须在这种情况下使用。我不想在每个这样的函数中写两次相同的表达式。(decltype
如果我有多行带有临时变量的代码,该怎么办)
c++ - 为什么 xtensor 中的第一个示例无法运行?
我通过 conda 安装 xtensor
我找到了安装xtensor的位置,
第一个示例由xtensor docs给出,即
我跟着它并在linux服务器中运行命令
但是命令报错,日志太长,部分如下:
提前感谢您的任何帮助/建议。
c++ - C++ Xtensor 增加浮点有效数
我正在构建一个神经网络并在前馈中使用 xtensor 进行数组乘法。网络接收xt::xarray<double>
并输出一个介于 0 和 1 之间的十进制数。我得到了一张预期输出的表格。当我将我的输出与提供的表格进行比较时,我发现所有结果在 7 位数字后都不同。例如,如果所需的值是0.1234567890123456
,我得到的值是0.1234567-garbage-numbers-so-that-total-numbers-equal-16
, 0.1234567993344660
, 0.1234567221155667
。
0.1234567890123456
我知道由于浮点数学,我无法得到那个确切的数字。但是我怎样才能调试/提高精度以接近所需的数字。谢谢
更新:
对于代码,我只是在数组中多次调用此方法call
。weight
bias
xt::xarray<double>