Función PyTorch torch.addr


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.addrEs una función en PyTorch que se utiliza para calcular el producto exterior de dos vectores y agregarlo a la matriz de entrada. Calcula el producto exterior de cada fila de vec1 con cada columna de vec2 y luego lo agrega a input.

Definición de la función

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

Parámetros:

  • input(Tensor): la matriz de entrada, que se agrega al resultado.
  • vec1(Tensor): el primer vector, con forma (n,) o (n, 1).
  • vec2(Tensor): el segundo vector, con forma (m,) o (m, 1).
  • beta(float, opcional): coeficiente que multiplica a input, por defecto 1.0.
  • alpha(float, opcional): coeficiente que multiplica el resultado del producto exterior, por defecto 1.0.
  • out(Tensor, opcional): tensor de salida.

Valor de retorno:

  • torch.Tensor: Devuelve la suma del producto exterior y la matriz de entrada, con forma (n, m).

Ejemplo de uso

Ejemplo

import torch

# Crear la matriz de entrada y dos vectores
input = torch.zeros(3, 4)
vec1 = torch.tensor([1, 2, 3])
vec2 = torch.tensor([4, 5, 6, 7])

# Calcular el producto exterior y agregarlo a la matriz de entrada
result = torch.addr(input, vec1, vec2)

print("Forma de la matriz de entrada:", input.shape)
print("Vector 1:", vec1)
print("Vector 2:", vec2)
print("Forma del resultado:", result.shape)
print(result)

El resultado es:

输入矩阵形状: 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.]])

Ejemplo - sin usar matriz de entrada

import torch

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

# Calcular directamente el producto exterior
result = torch.addr(torch.zeros(3, 3), vec1, vec2)
print(result)

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones