gpt4 book ai didi

eigen - 如何切片 TensorMap?

转载 作者:行者123 更新时间:2023-12-04 21:07:36 29 4
gpt4 key购买 nike

我知道 Tensor 类支持切片,但是当我尝试对 TensorMap 实例进行切片时,错误是不支持该操作。如何切片 TensorMap?

最佳答案

std::vector<int> v(27);
std::iota(v.begin(),v.end(),1);

Eigen::TensorMap<Eigen::Tensor<int,3>> mapped(v.data(), 3, 3, 3 );

Eigen::array<long,3> startIdx = {0,0,0}; //Start at top left corner
Eigen::array<long,3> extent = {2,2,2}; // take 2 x 2 x 2 elements

Eigen::Tensor<int,3> sliced = mapped.slice(startIdx,extent);

std::cout << sliced << std::endl;
此代码在 27 个元素的 std 向量 ( mapped ) 上创建了一个 3 x 3 x 3 TensorMap ( v ),然后从左上角开始切片一个 2 x 2 x 2 块 ( extent )角 ( startIdx ) 并将其存储在 sliced编辑:结果的类型也可以通过 auto 推断出来:
auto sliced = mapped.slice(startIdx,extent);

关于eigen - 如何切片 TensorMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41794223/

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