gpt4 book ai didi

stdvector - 如何将 xarray 转换为 std::vector?

转载 作者:行者123 更新时间:2023-12-03 23:08:01 27 4
gpt4 key购买 nike

文档非常清楚如何适应 std::vector到张量对象。
https://xtensor.readthedocs.io/en/latest/adaptor.html

std::vector<double> v = {1., 2., 3., 4., 5., 6. };
std::vector<std::size_t> shape = { 2, 3 };
auto a1 = xt::adapt(v, shape);

但是你怎么能反过来呢?
xt::xarray<double> a2 = { { 1., 2., 3.} };
std::vector<double> a2vector = ?;

最佳答案

您可以构建一个 std::vector从迭代器。对于您的示例:

std::vector<double> w(a1.begin(), a1.end());

完整的例子然后变成:

#include <vector>
#include <xtensor/xadapt.hpp>
#include <xtensor/xio.hpp>

int main()
{
std::vector<double> v = {1., 2., 3., 4., 5., 6.};
std::vector<std::size_t> shape = {2, 3};
auto a1 = xt::adapt(v, shape);
std::vector<double> w(a1.begin(), a1.end());
return 0;
}

引用:
  • std::vector .
  • Constructors of std::vector (数字 (5) 是此处相关的一项)。
  • xtensor documentation1.7.1 Adapting std::vector
  • 关于stdvector - 如何将 xarray 转换为 std::vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61030335/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com