РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
8 of 769 menu

Метод unsqueeze

Метод unsqueeze добавляет новое измерение (ось) в тензор на заданную позицию. Это полезно, когда нужно привести тензор к форме, ожидаемой некоторыми операциями, например, при работе с пакетами данных в нейронных сетях. Метод принимает один обязательный параметр - позицию, на которую будет вставлена новая ось. Новая ось будет иметь размерность 1.

Синтаксис

tensor.unsqueeze(dim)

Пример

Давайте добавим новое измерение в начало тензора:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print("Original shape:", t.shape) res = t.unsqueeze(0) print("New shape:", res.shape) print(res)

Результат выполнения кода:

Original shape: torch.Size([5]) New shape: torch.Size([1, 5]) tensor([[1, 2, 3, 4, 5]])

Пример

Давайте добавим новое измерение в конец тензора:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print("Original shape:", t.shape) res = t.unsqueeze(1) print("New shape:", res.shape) print(res)

Результат выполнения кода:

Original shape: torch.Size([5]) New shape: torch.Size([5, 1]) tensor([[1], [2], [3], [4], [5]])

Пример

Давайте добавим новое измерение между существующими для двумерного тензора:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6] ]) print("Original shape:", t.shape) res = t.unsqueeze(1) print("New shape:", res.shape) print(res)

Результат выполнения кода:

Original shape: torch.Size([2, 3]) New shape: torch.Size([2, 1, 3]) tensor([ [[1, 2, 3]], [[4, 5, 6]] ])

Пример

Давайте используем отрицательную позицию для вставки измерения:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print("Original shape:", t.shape) res = t.unsqueeze(-1) print("New shape:", res.shape) print(res)

Результат выполнения кода:

Original shape: torch.Size([5]) New shape: torch.Size([5, 1]) tensor([[1], [2], [3], [4], [5]])

Смотрите также

  • метод squeeze,
    который удаляет измерения размерности 1
  • метод view,
    который изменяет форму тензора
  • метод reshape,
    который также изменяет форму тензора
  • метод unsqueeze_,
    который добавляет измерение на месте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить