torch.slice_scatter
-
torch.slice_scatter(input, src, dim=0, start=None, end=None, step=1) → Tensor -
Вставляет значения тензора
srcвinputпо указанному измерению. Эта функция возвращает тензор с новым хранилищем данных; она не создает представление.- Параметры:
-
- input (Tensor) – входной тензор.
-
src (Tensor) – Тензор, который нужно вставить в
input - dim (int) – измерение, в которое нужно вставить срез
- start (Optional[int]) – начальный индекс места вставки среза
- end (Optional[int]) – конечный индекс места вставки среза
- step (int) – количество пропускаемых элементов
Пример:
>>> a = torch.zeros(8, 8) >>> b = torch.ones(2, 8) >>> a.slice_scatter(b, start=6) tensor([[0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0.], [1., 1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1., 1.]]) >>> b = torch.ones(8, 2) >>> a.slice_scatter(b, dim=1, start=2, end=6, step=2) tensor([[0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.], [0., 0., 1., 0., 1., 0., 0., 0.]])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.slice_scatter.html