Spec-Zone.ru › PyTorch 2

torch.squeeze

torch.squeeze(input, dim=None) → Tensor

Возвращает тензор со всеми указанными измерениями размера 1, удаленными.

Например, если input имеет форму: (A×1×B×C×1×D)(A \times 1 \times B \times C \times 1 \times D) то input.squeeze() будет иметь форму: (A×B×C×D)(A \times B \times C \times D).

Если dim задан, операция сжатия выполняется только в указанных измерениях. Если input имеет форму: (A×1×B)(A \times 1 \times B), squeeze(input, 0) оставляет тензор без изменений, но squeeze(input, 1) сжимает тензор до формы (A×B)(A \times B).

Примечание

Возвращаемый тензор разделяет хранилище с входным тензором, поэтому изменение содержимого одного из них изменит содержимое другого.

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

Если у тензора есть измерение размера партии 1, то squeeze(input) также удалит размер партии, что может привести к непредвиденным ошибкам. Подумайте о задании только тех измерений, которые необходимо сжать.

Параметры
  • input (Tensor) – входной тензор.
  • dim (int или tuple целых чисел, необязательно) –

    Если задано, вход будет сжат

    только в указанных измерениях.

    Изменено в версии 2.0: dim теперь принимает кортежи измерений.

Пример:

>>> x = torch.zeros(2, 1, 2, 1, 2)
>>> x.size()
torch.Size([2, 1, 2, 1, 2])
>>> y = torch.squeeze(x)
>>> y.size()
torch.Size([2, 2, 2])
>>> y = torch.squeeze(x, 0)
>>> y.size()
torch.Size([2, 1, 2, 1, 2])
>>> y = torch.squeeze(x, 1)
>>> y.size()
torch.Size([2, 2, 1, 2])
>>> y = torch.squeeze(x, (1, 2, 3))
torch.Size([2, 2, 2])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.squeeze.html

Spec-Zone.ru

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