torch.as_strided
-
torch.as_strided(input, size, stride, storage_offset=None) → Tensor -
Создаёт представление существующего
torch.Tensorinputс заданнымиsize,strideиstorage_offset.Предупреждение
Предпочтительно использовать другие функции для создания представлений, например
torch.Tensor.view()илиtorch.Tensor.expand(), вместо того чтобы задавать шаги представления вручную с помощьюas_strided, поскольку эта функция вызовет ошибку в нестандартных серверных реализациях PyTorch (в которых отсутствует понятие шага), а результат будет зависеть от текущего расположения данных в памяти. Созданное представление должно ссылаться только на элементы хранилища тензора, иначе будет вызвана ошибка времени выполнения. Если сгенерированное представление «перекрывается» (несколько индексов ссылаются на один и тот же элемент в памяти), поведение операций на месте с этим представлением не определено (и ошибки времени выполнения могут не возникнуть).- Параметры:
-
- input (Tensor) – входной тензор.
- size (tuple или целые числа) – форма выходного тензора
- stride (tuple или целые числа) – шаг выходного тензора
-
storage_offset (int, необязательно) – смещение в базовом хранилище выходного тензора. Если
None, смещение storage_offset выходного тензора будет совпадать со смещением входного тензора.
Пример:
>>> x = torch.randn(3, 3) >>> x tensor([[ 0.9039, 0.6291, 1.0795], [ 0.1586, 2.1939, -0.4900], [-0.1909, -0.7503, 1.9355]]) >>> t = torch.as_strided(x, (2, 2), (1, 2)) >>> t tensor([[0.9039, 1.0795], [0.6291, 0.1586]]) >>> t = torch.as_strided(x, (2, 2), (1, 2), 1) tensor([[0.6291, 0.1586], [1.0795, 2.1939]])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.as_strided.html