Spec-Zone.ru › PyTorch 2.14

torch.Tensor.expand

Tensor.expand(*size) → Tensor

Возвращает новое представление тензора self, в котором размеры измерений длины 1 увеличены до большего значения.

Передача -1 в качестве размера измерения означает, что его размер не изменится.

Тензор также можно расширить до большего числа измерений; новые измерения будут добавлены в начало. Для новых измерений нельзя задать размер -1.

Расширение тензора не выделяет новую память, а лишь создает новое представление существующего тензора, в котором измерение длины 1 расширяется до большего размера путем установки stride в 0. Любое измерение длины 1 можно расширить до произвольного значения без выделения новой памяти.

Примечание

Операции с расширенным представлением все же могут выделять память, если для них требуется материализовать расширенные значения. Например, изменение типа данных после expand() может выделить память для всей расширенной формы.

Параметры:

*size (torch.Size или int...) – требуемый размер расширенного тензора

Предупреждение

Несколько элементов расширенного тензора могут ссылаться на одну область памяти. В результате операции на месте (особенно векторизованные) могут приводить к некорректному поведению. Если вам нужно записывать данные в тензоры, сначала создайте их копии с помощью clone.

Пример:

>>> x = torch.tensor([[1], [2], [3]])
>>> x.size()
torch.Size([3, 1])
>>> x.expand(3, 4)
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])
>>> x.expand(-1, 4)   # -1 means not changing the size of that dimension
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.Tensor.expand.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API