Función torch.transpose de PyTorch


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.transposeEs una función en PyTorch que se utiliza para intercambiar dos dimensiones de un tensor. Devuelve una vista transpuesta del tensor de entrada.

Esta es una operación común en el aprendizaje profundo, utilizada para cambiar la forma de los datos y adaptarse a diferentes necesidades de cálculo.

Definición de la función

torch.transpose(input, dim0, dim1)

Parámetros:

  • input(Tensor): El tensor de entrada.
  • dim0(int): La primera dimensión a intercambiar.
  • dim1(int): La segunda dimensión a intercambiar.

Valor de retorno:

  • torch.Tensor: Devuelve la vista del tensor transpuesto.

Ejemplos de uso

Ejemplo 1: Transposición de matriz bidimensional

Ejemplo

import torch

# Crear una matriz de 3x4
x = torch.randn(3, 4)

# Transponer
y = torch.transpose(x, 0, 1)

print("Forma original:", x.shape)
print("Forma después de transponer:", y.shape)
print("Original:")
print(x)
print("Después de transponer:")
print(y)

El resultado de salida es:

原始形状: 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]])

Ejemplo 2: Transposición de tensor multidimensional

Ejemplo

import torch

# Crear un tensor 3D
x = torch.randn(2, 3, 4)

# Intercambiar dim=1 y dim=2
y = torch.transpose(x, 1, 2)

print("Forma original:", x.shape)
print("Forma después de transponer:", y.shape)

El resultado de salida es:

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

Notas

  • torch.transposeDevuelve una vista, no una copia.
  • Para tensores bidimensionales, también se puede usartensor.t()el método.

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones