Fonction torch.addmm de PyTorch
Manuel de référence PyTorch torch
torch.addmmest une fonction de PyTorch utilisée pour ajouter le résultat de la multiplication matricielle à la matrice d'entrée. Elle effectue la multiplication matricielle de mat1 @ mat2, puis ajoute le résultat à input.
Définition de fonction
torch.addmm(input, mat1, mat2, *, beta=1.0, alpha=1.0, out=None)
Parameters:
input(Tensor) : La matrice d'entrée, ajoutée au résultat.mat1(Tensor) : La première matrice, de forme (n, m).mat2(Tensor) : La deuxième matrice, de forme (m, p).beta(float, optionnel) : Le coefficient multipliant input, la valeur par défaut est 1.0.alpha(float, optionnel) : Le coefficient multipliant le résultat de mat1 @ mat2, la valeur par défaut est 1.0.out(Tensor, optionnel) : Le tenseur de sortie.
Valeur de retour:
torch.Tensor: Renvoie la somme du résultat de la multiplication matricielle et de la matrice d'entrée, avec une forme (n, p).
Exemple d'utilisation
Exemple
import torch
# Créer la matrice d'entrée et deux matrices
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Effectuer addmm
result = torch.addmm(input, mat1, mat2)
print("Forme de la matrice d'entrée :", input.shape)
print("Forme de la matrice 1 :", mat1.shape)
print("Forme de la matrice 2 :", mat2.shape)
print("Forme du résultat :", result.shape)
print(result)
# Créer la matrice d'entrée et deux matrices
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Effectuer addmm
result = torch.addmm(input, mat1, mat2)
print("Forme de la matrice d'entrée :", input.shape)
print("Forme de la matrice 1 :", mat1.shape)
print("Forme de la matrice 2 :", mat2.shape)
print("Forme du résultat :", result.shape)
print(result)
Le résultat de sortie est:
输入矩阵形状: torch.Size([3, 3])
矩阵1形状: torch.Size([3, 4])
矩阵2形状: torch.Size([4, 3])
结果形状: torch.Size([3, 3])
tensor([[ 0.4692, -0.2864, -0.6013],
[ 1.5525, 0.1233, -0.0182],
[-0.3956, 0.6267, 0.3580]])
Exemple - Utilisation des paramètres alpha et beta
import torch
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Utiliser les paramètres alpha et beta
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Équivalent à : result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Utiliser les paramètres alpha et beta
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Équivalent à : result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
Autres extensions