torch.narrow_copy
-
torch.narrow_copy(input, dim, start, length, *, out=None) → Tensor -
То же, что и
Tensor.narrow(), но эта функция возвращает копию, а не тензор с общей памятью. Это предназначено главным образом для разреженных тензоров, у которых нет метода narrow с общей памятью.- Параметры:
-
- input (Tensor) – тензор, который нужно сузить
- dim (int) – измерение, вдоль которого нужно сузить тензор
-
start (int) – индекс элемента, с которого начинается сужаемое измерение. Может быть отрицательным, что означает отсчёт от конца
dim - length (int) – длина сужаемого измерения; должна быть неотрицательной
- Именованные аргументы:
-
out (Tensor, необязательно) – выходной тензор.
Пример:
>>> x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> torch.narrow_copy(x, 0, 0, 2) tensor([[ 1, 2, 3], [ 4, 5, 6]]) >>> torch.narrow_copy(x, 1, 1, 2) tensor([[ 2, 3], [ 5, 6], [ 8, 9]]) >>> s = torch.arange(16).reshape(2, 2, 2, 2).to_sparse(2) >>> torch.narrow_copy(s, 0, 0, 1) tensor(indices=tensor([[0, 0], [0, 1]]), values=tensor([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]), size=(1, 2, 2, 2), nnz=2, layout=torch.sparse_coo)См. также
torch.narrow()— вариант без копирования
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.narrow_copy.html