我需要复制一行一个张量(在c++ API
)转换为另一个张量的某些部分,其中开始和结束索引可用。在 C++ 中我们可以使用类似的东西:
int myints[] = {10, 20, 30, 40, 50, 60, 70};
std::vector<int> myvector(18);
std::copy(myints, myints + 3, myvector.begin() + 4);
从中复制三个值myints
into myvector
,从第四个索引开始。
我想知道是否有类似的APIlibtorch
(即 C++)?
C++ API 提供了Python 切片当量功能
at::Tensor at::Tensor::slice(int64_t dim, int64_t start, int64_t end, int64_t step);
因此,您可以执行以下操作:
auto myints = torch::Tensor({10, 20, 30, 40, 50, 60, 70});
auto myvector = torch::ones({18});
myvector.slice(0, 3, 7) = myints.slice(0, 0, 3);
在你的情况下使用dim=0
第一维度
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)