Функция torch.baddbmm в PyTorch
Справочное руководство PyTorch torch
torch.baddbmmЭто функция в PyTorch, используемая для выполнения пакетного умножения матриц и добавления результата к входной пакетной матрице. Она выполняет умножение матриц для каждой пары матриц в batch1 и batch2, затем добавляет результат к соответствующей матрице в input.
Определение функции
torch.baddbmm(input, batch1, batch2, *, beta=1.0, alpha=1.0, out=None)
Parameters:
input(Tensor): Входная пакетная матрица, форма (b, n, p).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: Возвращает сумму результата пакетного умножения матриц и входной пакетной матрицы, с формой (b, n, p).
Пример использования
Пример
import torch
# Создать входную пакетную матрицу и пакетные матрицы
input = torch.randn(10, 3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)
# Выполнить baddbmm
result = torch.baddbmm(input, batch1, batch2)
print("Форма входной пакетной матрицы:", input.shape)
print("Форма пакетной матрицы 1:", batch1.shape)
print("Форма пакетной матрицы 2:", batch2.shape)
print("Форма результата:", result.shape)
print(result[0]) # Вывести первый результат
# Создать входную пакетную матрицу и пакетные матрицы
input = torch.randn(10, 3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)
# Выполнить baddbmm
result = torch.baddbmm(input, batch1, batch2)
print("Форма входной пакетной матрицы:", input.shape)
print("Форма пакетной матрицы 1:", batch1.shape)
print("Форма пакетной матрицы 2:", batch2.shape)
print("Форма результата:", result.shape)
print(result[0]) # Вывести первый результат
Результат вывода:
输入批量矩阵形状: torch.Size([10, 3, 3])
批量矩阵1形状: torch.Size([10, 3, 4])
批量矩阵2形状: torch.Size([10, 4, 3])
结果形状: torch.Size([10, 3, 3])
tensor([[-1.0917, 0.0174, -0.6599],
[ 1.0403, -0.3905, -0.6314],
[ 0.0988, -0.3047, 0.4841]])
Другие расширения