PyTorch torch.transpose Funktion


Pytorch torch 参考手册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)

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)

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 dietensor.t()Methode.

Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

Andere Erweiterungen