PyTorch torch.addbmm función


Pytorch torch 参考手册Pytorch torch manual de referencia

torch.addbmmEs una función en PyTorch que se utiliza para añadir el resultado de la multiplicación de matrices por lotes a la matriz de entrada. Realiza la multiplicación de matrices para cada par de matrices en batch1 y batch2, luego suma todos los resultados y los añade a input.

Definición de la función

torch.addbmm(input, batch1, batch2, *, beta=1.0, alpha=1.0, out=None)

Parámetros:

  • input(Tensor): La matriz de entrada, que se añade al resultado.
  • batch1(Tensor): La primera matriz por lotes, con forma (b, n, m).
  • batch2(Tensor): La segunda matriz por lotes, con forma (b, m, p).
  • beta(float, opcional): Coeficiente que multiplica a input, por defecto 1.0.
  • alpha(float, opcional): Coeficiente que multiplica el resultado de batch1 @ batch2, por defecto 1.0.
  • out(Tensor, opcional): Tensor de salida.

Valor de retorno:

  • torch.Tensor: Devuelve la suma del resultado de la multiplicación de matrices por lotes y la matriz de entrada.

Ejemplo de uso

Ejemplo

import torch

# Crear la matriz de entrada y las matrices por lotes
input = torch.randn(3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)

# Ejecutar addbmm
result = torch.addbmm(input, batch1, batch2)

print("Forma de la matriz de entrada:", input.shape)
print("Forma de la matriz por lotes 1:", batch1.shape)
print("Forma de la matriz por lotes 2:", batch2.shape)
print("Forma del resultado:", result.shape)
print(result)

El resultado de salida es:

输入矩阵形状: torch.Size([3, 3])
批量矩阵1形状: torch.Size([10, 3, 4])
批量矩阵2形状: torch.Size([10, 4, 3])
结果形状: torch.Size([3, 3])
tensor([[-0.2875, -0.6518,  0.1207],
        [-0.2746,  0.5563, -0.2281],
        [ 0.3315,  0.1649,  0.2145]])

Pytorch torch 参考手册Pytorch torch manual de referencia

Otras extensiones