torch.Tensor.index_copy_
-
Tensor.index_copy_(dim, index, tensor) → Tensor -
Копирует элементы из
tensorв тензорself, выбирая индексы в порядке, указанном вindex. Например, еслиdim == 0иindex[i] == j, тоi-я строка изtensorкопируется вj-ю строкуself.Размерность
dimтензораtensorдолжна совпадать с длинойindex(которая должна быть вектором), а все остальные размерности должны совпадать сself, в противном случае будет выброшено исключение.Примечание
Если
indexсодержит дублирующиеся записи, несколько элементов изtensorбудут скопированы в один и тот же индексself. Результат является неопределённым, так как зависит от того, какая копия произошла последней.- Параметры
Пример:
>>> x = torch.zeros(5, 3) >>> t = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=torch.float) >>> index = torch.tensor([0, 4, 2]) >>> x.index_copy_(0, index, t) tensor([[ 1., 2., 3.], [ 0., 0., 0.], [ 7., 8., 9.], [ 0., 0., 0.], [ 4., 5., 6.]])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.Tensor.index_copy_.html