![](/img/trans.png)
[英]xtensor - Tensor wrapper raises trivial_assigner error during runtime
[英]Xtensor append values to bottom of tensor?
假设我试图将值的张量(不是按位)向上移动n
,然后在底部添加 NaN 以填充移位偏移量。
int n = 2;
xt::xtensor_fixed<float, xt::xshape<1, 4>, xt::layout_type::column_major> original = {{ 1., 2., 3., 4. } };
n
{{3., 4. } } 的移位auto shiftvalues = xt::view(original, xt::all(), xt::range(n, original.size()));
(?)shiftvalues.appendBottom(std::numeric_limits<double>::quiet_NaN());
(?)shiftvalues.appendBottom(std::numeric_limits<double>::quiet_NaN());
int n = 2;
xt::xtensor_fixed<float, xt::xshape<1, 4>, xt::layout_type::column_major> original = {{ 1., 2., 3., 4. } };
auto shiftvalues = xt::view(original, xt::all(), xt::range(n, original.size()));
我将如何按照步骤 1 和 2 将 NaN 值插入张量? 我无法在文档中找到任何将值附加到张量底部的方法。
或者创建一个与original
大小相同的张量,用 NaN 填充它,然后将适当索引处的值设置为shiftvalues
吗?
谢谢
没想到
int n = 2;
xt::xtensor_fixed<float, xt::xshape<1, 4>, xt::layout_type::column_major> original = {{ 1., 2., 3., 4. } };
xt::xtensor<float, 2>::shape_type sh1 = {1, n};
auto offsetfill = xt::full_like(xt::empty<float>(sh1), std::numeric_limits<double>::quiet_NaN());
auto shiftvalues = xt::view(original, xt::all(), xt::range(n, original.size()));
auto result = xt::concatenate(xt::xtuple(shiftvalues, offsetfill), 1);
std::cout << result << std::endl;
{{ 3., 4., 南., 南.}}
我想这是一种解决方法,没有以传统方式附加值。
n
的形状
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.