Fonction torch.add de PyTorch
Manuel de référence Pytorch torch
torch.addest une fonction dans PyTorch utilisée pour effectuer une addition élément par élément. Elle additionne deux tenseurs ou un tenseur et un scalaire.
Il s'agit de l'une des opérations mathématiques les plus fondamentales et elle est utilisée dans divers scénarios de calcul en apprentissage profond.
Définition de fonction
torch.add(input, other, alpha=1, out=None)
Parameters:
input(Tensor) : Le premier tenseur d'entrée.other(Tensor or float) : Le deuxième tenseur d'entrée ou un scalaire.alpha(float, optionnel) : facteur d'échelle,otherqui est multiplié par cette valeur, puis ajouté àinputcelle-ci, la valeur par défaut est 1.out(Tensor, optionnel) : tenseur de sortie.
Valeur de retour:
torch.Tensor: Renvoie le tenseur après addition.
Exemples d'utilisation
Exemple 1 : Addition de deux tenseurs
Exemple
# Créer deux tenseurs
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Les additionner
c = torch.add(a, b)
print(c)
La sortie est :
tensor([5, 7, 9])
Exemple 2 : Tenseur plus scalaire
Exemple
# Créer un tenseur
a = torch.tensor([1, 2, 3])
# Ajouter le scalaire
b = torch.add(a, 10)
print(b)
La sortie est :
tensor([11, 12, 13])
Exemple 3 : Utilisation du paramètre alpha
Exemple
# Créer deux tenseurs
a = torch.tensor([1.0, 2.0, 3.0])
b = torch.tensor([1.0, 2.0, 3.0])
# Calculer a + 2 * b
c = torch.add(a, b, alpha=2)
print(c)
La sortie est :
tensor([3., 6., 9.])
alphaLe paramètre est utile lors de l'implémentation de certains algorithmes, tels que le calculinput + alpha * other。
Exemple 4 : Mécanisme de diffusion
Exemple
# Ajouter des tenseurs de formes différentes (diffusion)
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = torch.tensor([1, 2, 3])
c = torch.add(a, b)
print(c)
La sortie est :
tensor([[2, 4, 6],
[5, 7, 9])
PyTorch prend en charge le mécanisme de diffusion, qui permet d'effectuer des opérations sur des tenseurs de formes différentes.
Utilisation de l'opérateur Plus
En plus d'utiliser latorch.add()fonction, vous pouvez aussi directement utiliser l'+opérateur, et les deux ont le même effet :
Exemple
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Les deux méthodes sont équivalentes
c1 = torch.add(a, b)
c2 = a + b
print(c1)
print(c2)
print(torch.equal(c1, c2))
Autres extensions