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

Метод transpose_

Метод transpose_ класса Tensor меняет местами две оси тензора непосредственно в самом объекте, то есть выполняет преобразование на месте. В отличие от метода transpose, который возвращает новый тензор, этот метод изменяет исходный тензор и возвращает ссылку на него же. Первым параметром метод принимает индекс первой оси для перестановки, вторым параметром - индекс второй оси.

Синтаксис

tensor.transpose_(dim0, dim1)

Пример

Давайте создадим двумерный тензор и применим к нему метод transpose_, чтобы поменять местами строки и столбцы:

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

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

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

Пример

Давайте продемонстрируем, что метод работает на месте, то есть изменяет исходный тензор, а не создает копию:

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

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

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

Пример

Применим метод к трехмерному тензору, поменяв местами оси 0 и 2:

import torch t = torch.tensor([ [ [1, 2], [3, 4], ], [ [5, 6], [7, 8], ], ]) t.transpose_(0, 2) print(t)

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

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

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

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