Скопируйте кусок одного тензора в другой в C ++ API - PullRequest
1 голос
/ 05 июля 2019

Мне нужно скопировать строку одного тензора (в 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 в myvector, начиная с четвертого индекса. Мне было интересно, есть ли похожий API в libtorch (т.е. C ++)?

1 Ответ

0 голосов
/ 06 июля 2019

Вы можете просто использовать нарезку массива:

myints = torch.tensor([10,20,30,40,50,60,70])
myvector = torch.ones(18)

myvector[4:7] = myints[:3]
# tensor([ 1.,  1.,  1.,  1., 10., 20., 30.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
#         1.,  1.,  1.,  1.])

Это то, что вы ищете?

...