Функция torch.addbmm PyTorch


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.addbmmЭто функция в PyTorch, используемая для добавления результатов пакетного матричного умножения к входной матрице. Она выполняет матричное умножение для каждой пары матриц в batch1 и batch2, суммирует все результаты, а затем добавляет их к input.

Определение функции

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

Parameters:

  • input(Tensor): Входная матрица, которая добавляется к результату.
  • batch1(Tensor): Первая пакетная матрица, с формой (b, n, m).
  • batch2(Tensor): Вторая пакетная матрица, с формой (b, m, p).
  • beta(float, необязательный): Коэффициент, на который умножается input, по умолчанию 1.0.
  • alpha(float, необязательный): Коэффициент, на который умножается результат batch1 @ batch2, по умолчанию 1.0.
  • out(Tensor, необязательный): Выходной тензор.

Возвращаемое значение:

  • torch.Tensor: Возвращает сумму результата пакетного матричного умножения и входной матрицы.

Пример использования

Пример

import torch

# Создать входную матрицу и пакетные матрицы
input = torch.randn(3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)

# Выполнить addbmm
result = torch.addbmm(input, batch1, batch2)

print("Форма входной матрицы:", input.shape)
print("Форма пакетной матрицы 1:", batch1.shape)
print("Форма пакетной матрицы 2:", batch2.shape)
print("Форма результата:", result.shape)
print(result)

Результат вывода:

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

Другие расширения