PyTorch torch.diagonal Funktion
PyTorch torch Referenzhandbuch
torch.diagonalEs ist eine Funktion in PyTorch zum Extrahieren diagonaler Elemente eines Tensors. Sie gibt eine Ansicht der angegebenen Diagonalen des Eingabetensors zurück.
Funktionsdefinition
torch.diagonal(input, diagonal=0, dim1=0, dim2=1)
Parameterbeschreibung:
input: Eingabe-Tensordiagonal: Diagonalindex, 0 steht für die Hauptdiagonaledim1: Erste Dimensiondim2: Zweite Dimension
Anwendungsbeispiele
Beispiel
import torch
# Erstelle eine 3x3-Matrix
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Die Hauptdiagonale extrahieren
y = torch.diagonal(x)
print(y)
# Erstelle eine 3x3-Matrix
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Die Hauptdiagonale extrahieren
y = torch.diagonal(x)
print(y)
Das Ausgabeergebnis ist:
tensor([1, 5, 9])
Beispiel
import torch
# Erstelle eine 3x3-Matrix
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extrahiere die Diagonale oberhalb der Hauptdiagonalen
y = torch.diagonal(x, offset=1)
print(y)
# Erstelle eine 3x3-Matrix
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Extrahiere die Diagonale oberhalb der Hauptdiagonalen
y = torch.diagonal(x, offset=1)
print(y)
Das Ausgabeergebnis ist:
tensor([2, 6])
Beispiel
import torch
# Erstelle einen 3D-Tensor
x = torch.arange(12).reshape(2, 3, 4)
# Extrahiere die Diagonale der angegebenen Dimensionen
y = torch.diagonal(x, offset=0, dim1=1, dim2=2)
print(y.shape)
print(y)
# Erstelle einen 3D-Tensor
x = torch.arange(12).reshape(2, 3, 4)
# Extrahiere die Diagonale der angegebenen Dimensionen
y = torch.diagonal(x, offset=0, dim1=1, dim2=2)
print(y.shape)
print(y)
Das Ausgabeergebnis ist:
torch.Size([2, 3])
tensor([[ 0, 5, 10],
[12, 17, 22]])
Andere Erweiterungen