PyTorch torch.transpose Funktion
PyTorch torch-Referenzhandbuch
torch.transposeIst eine Funktion in PyTorch, die verwendet wird, um zwei Dimensionen eines Tensors zu vertauschen. Sie gibt eine transponierte Ansicht des Eingabe-Tensors zurück.
Dies ist eine häufig verwendete Operation im Deep Learning, um die Form von Daten zu ändern und unterschiedliche Berechnungsanforderungen zu erfüllen.
Funktionsdefinition
torch.transpose(input, dim0, dim1)
Parameters:
input(Tensor): Der Eingabe-Tensor.dim0(int): Die erste Dimension, die vertauscht werden soll.dim1(int): Die zweite Dimension, die vertauscht werden soll.
Rückgabewert:
torch.Tensor: Gibt die transponierte Ansicht des Tensors zurück.
Anwendungsbeispiele
Beispiel 1: 2D-Matrix-Transponierung
Beispiel
import torch
# Erstelle eine 3x4-Matrix
x = torch.randn(3, 4)
# Transponieren
y = torch.transpose(x, 0, 1)
print("Ursprüngliche Form:", x.shape)
print("Form nach Transponierung:", y.shape)
print("Original:")
print(x)
print("Nach Transponierung:")
print(y)
# Erstelle eine 3x4-Matrix
x = torch.randn(3, 4)
# Transponieren
y = torch.transpose(x, 0, 1)
print("Ursprüngliche Form:", x.shape)
print("Form nach Transponierung:", y.shape)
print("Original:")
print(x)
print("Nach Transponierung:")
print(y)
Die Ausgabe ist:
原始形状: 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]])
Beispiel 2: Transponieren mehrdimensionaler Tensoren
Beispiel
import torch
# Erstelle einen 3D-Tensor
x = torch.randn(2, 3, 4)
# dim=1 und dim=2 vertauschen
y = torch.transpose(x, 1, 2)
print("Ursprüngliche Form:", x.shape)
print("Form nach Transponierung:", y.shape)
# Erstelle einen 3D-Tensor
x = torch.randn(2, 3, 4)
# dim=1 und dim=2 vertauschen
y = torch.transpose(x, 1, 2)
print("Ursprüngliche Form:", x.shape)
print("Form nach Transponierung:", y.shape)
Die Ausgabe ist:
原始形状: torch.Size([2, 3, 4]) 转置后形状: torch.Size([2, 4, 3])
Hinweise
torch.transposeEs gibt eine Ansicht zurück, keine Kopie.- Für 2D-Tensoren können Sie auch die
tensor.t()Methode.
Andere Erweiterungen