Fonction torch.baddbmm de PyTorch
Manuel de référence PyTorch torch
torch.baddbmmC’est une fonction de PyTorch utilisée pour effectuer une multiplication matricielle par lots et l’ajouter à une matrice par lots d’entrée. Elle effectue une multiplication matricielle sur chaque paire de matrices dans batch1 et batch2, puis ajoute le résultat à la matrice correspondante dans input.
Définition de fonction
torch.baddbmm(input, batch1, batch2, *, beta=1.0, alpha=1.0, out=None)
Parameters:
input(Tensor) : matrice par lots d’entrée, de forme (b, n, p).batch1(Tensor) : première matrice par lots, de forme (b, n, m).batch2(Tensor) : deuxième matrice par lots, de forme (b, m, p).beta(float, optionnel) : Coefficient multiplié par input, la valeur par défaut est 1.0.alpha(float, optionnel) : Coefficient multiplié par le résultat de batch1 @ batch2, la valeur par défaut est 1.0.out(Tensor, optionnel) : Tenseur de sortie.
Valeur de retour:
torch.Tensor: Renvoie la somme du résultat de la multiplication matricielle par lots et de la matrice par lots d’entrée, de forme (b, n, p).
Exemple d'utilisation
Exemple
import torch
# Créer une matrice par lots d’entrée et des matrices par lots
input = torch.randn(10, 3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)
# Effectuer baddbmm
result = torch.baddbmm(input, batch1, batch2)
print("Forme de la matrice par lots d'entrée :", input.shape)
print("Forme de la matrice par lots 1 :", batch1.shape)
print("Forme de la matrice par lots 2 :", batch2.shape)
print("Forme du résultat :", result.shape)
print(result[0]) # Afficher le premier résultat
# Créer une matrice par lots d’entrée et des matrices par lots
input = torch.randn(10, 3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)
# Effectuer baddbmm
result = torch.baddbmm(input, batch1, batch2)
print("Forme de la matrice par lots d'entrée :", input.shape)
print("Forme de la matrice par lots 1 :", batch1.shape)
print("Forme de la matrice par lots 2 :", batch2.shape)
print("Forme du résultat :", result.shape)
print(result[0]) # Afficher le premier résultat
Le résultat de sortie est:
输入批量矩阵形状: torch.Size([10, 3, 3])
批量矩阵1形状: torch.Size([10, 3, 4])
批量矩阵2形状: torch.Size([10, 4, 3])
结果形状: torch.Size([10, 3, 3])
tensor([[-1.0917, 0.0174, -0.6599],
[ 1.0403, -0.3905, -0.6314],
[ 0.0988, -0.3047, 0.4841]])
Autres extensions