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

Метод transpose

Метод transpose класса Tensor выполняет перестановку двух указанных осей (измерений) тензора. Первым параметром метод принимает индекс первой оси, вторым параметром - индекс второй оси, которые необходимо поменять местами. Метод возвращает новый тензор с переставленными осями, при этом исходный тензор остаётся неизменным.

Синтаксис

t.transpose(dim0, dim1)

Пример

Давайте создадим двумерный тензор размером 2 на 3 и поменяем его оси местами:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], ]) res = t.transpose(0, 1) print(res)

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

tensor([ [1, 4], [2, 5], [3, 6], ])

Как видно из примера, тензор размером 2x3 превратился в тензор размером 3x2, так как оси были переставлены.

Пример

Давайте рассмотрим трёхмерный тензор размером 2x3x4 и поменяем первую и третью оси:

import torch t = torch.randn(2, 3, 4) print(f"Original shape: {t.shape}") res = t.transpose(0, 2) print(f"Transposed shape: {res.shape}")

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

Original shape: torch.Size([2, 3, 4]) Transposed shape: torch.Size([4, 3, 2])

Размерности первой и третьей осей поменялись местами, а вторая ось осталась на своём месте.

Пример

Давайте продемонстрируем, что метод transpose создаёт новый тензор, а не изменяет исходный:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], ]) res = t.transpose(0, 1) print("Original tensor:") print(t) print("Transposed tensor:") print(res)

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

Original tensor: tensor([ [1, 2, 3], [4, 5, 6], ]) Transposed tensor: tensor([ [1, 4], [2, 5], [3, 6], ])

Исходный тензор t остался неизменным, а переменная res содержит результат перестановки.

Пример

Давайте создадим четырехмерный тензор и поменяем оси 1 и 3:

import torch t = torch.randn(2, 3, 4, 5) print(f"Original shape: {t.shape}") res = t.transpose(1, 3) print(f"Transposed shape: {res.shape}")

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

Original shape: torch.Size([2, 3, 4, 5]) Transposed shape: torch.Size([2, 5, 4, 3])

Оси с индексами 1 и 3 поменялись местами, а оси 0 и 2 остались на своих позициях.

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

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