PyTorch torch.chain_matmul Funktion
PyTorch torch Referenzhandbuch
torch.chain_matmulist eine Funktion in PyTorch, die verwendet wird, um die Kettenmultiplikation mehrerer Matrizen zu berechnen. Sie minimiert den Rechenaufwand, indem sie die optimale Reihenfolge der Matrixmultiplikation auswählt.
Funktionsdefinition
torch.chain_matmul(*matrices, out=None)
Parameters:
matrices(Tensor): Die Eingabematrixsequenz.out(Tensor, optional): Der Ausgabe-Tensor.
Rückgabewert:
torch.Tensor: Gibt das Ergebnis der Multiplikation aller Matrizen zurück.
Anwendungsbeispiel
Beispiel
import torch
# Mehrere Matrizen erstellen
A = torch.randn(10, 20)
B = torch.randn(20, 30)
C = torch.randn(30, 40)
D = torch.randn(40, 50)
# Verkettete Matrixmultiplikation
result = torch.chain_matmul(A, B, C, D)
print("Form von Matrix A:", A.shape)
print("Form von Matrix B:", B.shape)
print("Form von Matrix C:", C.shape)
print("Form von Matrix D:", D.shape)
print("Form des Ergebnisses:", result.shape)
# Mehrere Matrizen erstellen
A = torch.randn(10, 20)
B = torch.randn(20, 30)
C = torch.randn(30, 40)
D = torch.randn(40, 50)
# Verkettete Matrixmultiplikation
result = torch.chain_matmul(A, B, C, D)
print("Form von Matrix A:", A.shape)
print("Form von Matrix B:", B.shape)
print("Form von Matrix C:", C.shape)
print("Form von Matrix D:", D.shape)
print("Form des Ergebnisses:", result.shape)
Das Ausgabeergebnis ist:
矩阵 A 形状: torch.Size([10, 20]) 矩阵 B 形状: torch.Size([20, 30]) 矩阵 C 形状: torch.Size([30, 40]) 矩阵 D 形状: torch.Size([40, 50]) 结果形状: torch.Size([10, 50])
Beispiel - Verwendung einer Liste
import torch
# Matrizenliste
matrices = [torch.randn(10, 20),
torch.randn(20, 30),
torch.randn(30, 40)]
# Eine Liste als Argument verwenden
result = torch.chain_matmul(*matrices)
print("Form des Ergebnisses:", result.shape)
# Matrizenliste
matrices = [torch.randn(10, 20),
torch.randn(20, 30),
torch.randn(30, 40)]
# Eine Liste als Argument verwenden
result = torch.chain_matmul(*matrices)
print("Form des Ergebnisses:", result.shape)
Andere Erweiterungen