Función PyTorch torch.chain_matmul
Manual de referencia de PyTorch torch
torch.chain_matmulEs una función de PyTorch utilizada para calcular la multiplicación encadenada de múltiples matrices. Minimiza el costo computacional mediante un orden óptimo de multiplicación de matrices.
Definición de la función
torch.chain_matmul(*matrices, out=None)
Parámetros:
matrices(Tensor): la secuencia de matrices de entrada.out(Tensor, opcional): tensor de salida.
Valor de retorno:
torch.Tensor: Devuelve el resultado de multiplicar todas las matrices.
Ejemplo de uso
Ejemplo
import torch
# Crear múltiples matrices
A = torch.randn(10, 20)
B = torch.randn(20, 30)
C = torch.randn(30, 40)
D = torch.randn(40, 50)
# Multiplicación de matrices encadenada
result = torch.chain_matmul(A, B, C, D)
print("Forma de la matriz A:", A.shape)
print("Forma de la matriz B:", B.shape)
print("Forma de la matriz C:", C.shape)
print("Forma de la matriz D:", D.shape)
print("Forma del resultado:", result.shape)
# Crear múltiples matrices
A = torch.randn(10, 20)
B = torch.randn(20, 30)
C = torch.randn(30, 40)
D = torch.randn(40, 50)
# Multiplicación de matrices encadenada
result = torch.chain_matmul(A, B, C, D)
print("Forma de la matriz A:", A.shape)
print("Forma de la matriz B:", B.shape)
print("Forma de la matriz C:", C.shape)
print("Forma de la matriz D:", D.shape)
print("Forma del resultado:", result.shape)
El resultado de salida es:
矩阵 A 形状: torch.Size([10, 20]) 矩阵 B 形状: torch.Size([20, 30]) 矩阵 C 形状: torch.Size([30, 40]) 矩阵 D 形状: torch.Size([40, 50]) 结果形状: torch.Size([10, 50])
Ejemplo - usando listas
import torch
# Lista de matrices
matrices = [torch.randn(10, 20),
torch.randn(20, 30),
torch.randn(30, 40)]
# Usar lista como argumento
result = torch.chain_matmul(*matrices)
print("Forma del resultado:", result.shape)
# Lista de matrices
matrices = [torch.randn(10, 20),
torch.randn(20, 30),
torch.randn(30, 40)]
# Usar lista como argumento
result = torch.chain_matmul(*matrices)
print("Forma del resultado:", result.shape)
Otras extensiones