Функция swapdims
Функция swapdims меняет местами два указанных измерения тензора.
Первым параметром функция принимает тензор, вторым - индекс первого измерения,
третьим - индекс второго измерения.
Функция возвращает новый тензор с переставленными измерениями, исходный тензор не изменяется.
Эта функция является псевдонимом для функции swapaxes.
Синтаксис
torch.swapdims(input, dim0, dim1)
Пример
Давайте создадим двумерный тензор и поменяем местами его измерения:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.swapdims(t, 0, 1)
print(res)
Результат выполнения кода:
tensor([
[1, 4],
[2, 5],
[3, 6],
])
Пример
Давайте поменяем местами измерения с отрицательными индексами:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.swapdims(t, -2, -1)
print(res)
Результат выполнения кода:
tensor([
[1, 4],
[2, 5],
[3, 6],
])
Пример
Давайте поменяем местами два измерения у трёхмерного тензора:
import torch
t = torch.tensor([
[
[1, 2],
[3, 4],
],
[
[5, 6],
[7, 8],
],
])
res = torch.swapdims(t, 0, 2)
print(res)
Результат выполнения кода:
tensor([
[
[1, 5],
[3, 7],
],
[
[2, 6],
[4, 8],
],
])
Пример
Давайте применим функцию как метод тензора:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = t.swapdims(0, 1)
print(res)
Результат выполнения кода:
tensor([
[1, 4],
[2, 5],
[3, 6],
])