Атрибут T
Атрибут T класса Tensor возвращает новый тензор,
который является транспонированной версией исходного. Для двумерных
тензоров он выполняет классическое транспонирование - меняет местами
строки и столбцы. Для многомерных тензоров атрибут T меняет
местами нулевое и первое измерение, оставляя остальные без изменений.
Важно отметить, что атрибут возвращает новое представление данных
без их копирования, если это возможно.
Синтаксис
tensor.T
Пример
Давайте создадим двумерный тензор и применим к нему атрибут T:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = t.T
print(res)
Результат выполнения кода:
tensor([
[1, 4],
[2, 5],
[3, 6],
])
Пример
Давайте создадим трёхмерный тензор и применим к нему атрибут T:
import torch
t = torch.tensor([
[
[1, 2],
[3, 4],
],
[
[5, 6],
[7, 8],
],
])
res = t.T
print(res.shape)
Результат выполнения кода:
torch.Size([2, 2, 2])
Как видите, размерности нулевого и первого измерения поменялись местами.
Пример
Давайте выполним умножение матриц с использованием атрибута T:
import torch
a = torch.tensor([
[1, 2],
[3, 4],
[5, 6],
])
b = torch.tensor([
[7, 8, 9],
[10, 11, 12],
])
res = a @ b.T
print(res)
Результат выполнения кода:
tensor([
[27, 32, 37],
[61, 74, 87],
[95, 116, 137],
])