Функция PyTorch torch.transpose


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.transposeЭто функция в PyTorch, используемая для обмена двух измерений тензора. Она возвращает транспонированное представление входного тензора.

Это часто используемая операция в глубоком обучении для изменения формы данных в соответствии с различными вычислительными потребностями.

Определение функции

torch.transpose(input, dim0, dim1)

Parameters:

  • input(Tensor): Входной тензор.
  • dim0(int): Первое измерение для перестановки.
  • dim1(int): Второе измерение для перестановки.

Возвращаемое значение:

  • torch.Tensor: Возвращает транспонированное представление тензора.

Примеры использования

Пример 1: Транспонирование 2D-матрицы

Пример

import torch

# Создать матрицу 3x4
x = torch.randn(3, 4)

# Транспонирование
y = torch.transpose(x, 0, 1)

print("Исходная форма:", x.shape)
print("Форма после транспонирования:", y.shape)
print("Оригинал:")
print(x)
print("После транспонирования:")
print(y)

Вывод:

原始形状: torch.Size([3, 4])
转置后形状: torch.Size([4, 3])
原始:
tensor([[ 0.3364, -0.7844,  0.9760,  0.4381],
        [ 0.7865, -1.2775,  0.5767, -0.5268],
        [-0.6399, -0.6743, -0.2972, -0.4781]])
转置后:
tensor([[ 0.3364,  0.7865, -0.6399],
        [-0.7844, -1.2775, -0.6743],
        [ 0.9760,  0.5767, -0.2972],
        [ 0.4381, -0.5268, -0.4781]])

Пример 2: Транспонирование многомерного тензора

Пример

import torch

# Создать 3D-тензор
x = torch.randn(2, 3, 4)

# Поменять местами dim=1 и dim=2
y = torch.transpose(x, 1, 2)

print("Исходная форма:", x.shape)
print("Форма после транспонирования:", y.shape)

Вывод:

原始形状: torch.Size([2, 3, 4])
转置后形状: torch.Size([2, 4, 3])

Примечания

  • torch.transposeОн возвращает представление, а не копию.
  • Для 2D-тензоров можно также использоватьtensor.t()метод.

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения