torch.Tensor.expand
-
Tensor.expand(*sizes) → Tensor -
Возвращает новый вид тензора
selfс одиночными измерениями, расширенными до большего размера.Передача -1 в качестве размера для измерения означает, что размер этого измерения не изменится.
Тензор также может быть расширен до большего числа измерений, а новые измерения будут добавлены в начало. Для новых измерений размер нельзя установить в -1.
Расширение тензора не выделяет новую память, а только создаёт новый вид на существующем тензоре, где измерение размером один расширяется до большего размера, устанавливая
strideв 0. Любое измерение размером 1 может быть расширено до произвольного значения без выделения новой памяти.- Параметры
-
*sizes (torch.Size или int...) – желаемый расширенный размер
Предупреждение
Более одного элемента расширенного тензора может ссылаться на одно и то же место в памяти. В результате операции на месте (особенно векторные) могут привести к неправильному поведению. Если вам нужно записывать в тензоры, пожалуйста, клонируйте их предварительно.
Пример:
>>> 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]])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.Tensor.expand.html