Fonction torch.addr de PyTorch


Pytorch torch 参考手册Manuel de référence PyTorch torch

torch.addrC'est une fonction de PyTorch utilisée pour calculer le produit extérieur de deux vecteurs et l'ajouter à une matrice d'entrée. Elle calcule le produit extérieur de chaque ligne de vec1 et de chaque colonne de vec2, puis l'ajoute à input.

Définition de fonction

torch.addr(input, vec1, vec2, *, beta=1.0, alpha=1.0, out=None)

Parameters:

  • input(Tensor): Matrice d'entrée, ajoutée au résultat.
  • vec1(Tensor): Le premier vecteur, de forme (n,) ou (n, 1).
  • vec2(Tensor): Le second vecteur, de forme (m,) ou (m, 1).
  • beta(float, optionnel) : Coefficient multiplié par input, la valeur par défaut est 1.0.
  • alpha(float, facultatif): Coefficient multiplié par le résultat du produit extérieur, la valeur par défaut est 1.0.
  • out(Tensor, optionnel) : Tenseur de sortie.

Valeur de retour:

  • torch.Tensor: Renvoie la somme du produit extérieur et de la matrice d'entrée, de forme (n, m).

Exemple d'utilisation

Exemple

import torch

# Créer la matrice d'entrée et deux vecteurs
input = torch.zeros(3, 4)
vec1 = torch.tensor([1, 2, 3])
vec2 = torch.tensor([4, 5, 6, 7])

# Calculer le produit extérieur et l'ajouter à la matrice d'entrée
result = torch.addr(input, vec1, vec2)

print("Forme de la matrice d'entrée :", input.shape)
print("Vecteur 1 :", vec1)
print("Vecteur 2 :", vec2)
print("Forme du résultat :", result.shape)
print(result)

Le résultat de sortie est:

输入矩阵形状: torch.Size([3, 4])
向量1: tensor([1, 2, 3])
向量2: tensor([4, 5, 6, 7])
结果形状: torch.Size([3, 4])
tensor([[ 4.,  5.,  6.,  7.],
        [ 8., 10., 12., 14.],
        [12., 15., 18., 21.]])

Exemple - Sans utiliser de matrice d'entrée

import torch

vec1 = torch.tensor([1, 2, 3])
vec2 = torch.tensor([4, 5, 6])

# Calculer directement le produit extérieur
result = torch.addr(torch.zeros(3, 3), vec1, vec2)
print(result)

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions