Функция PyTorch torch.addmm
Справочное руководство PyTorch torch
torch.addmmявляется функцией в PyTorch, используемой для добавления результата матричного умножения к входной матрице. Она выполняет матричное умножение mat1 @ mat2, а затем добавляет результат к input.
Определение функции
torch.addmm(input, mat1, mat2, *, beta=1.0, alpha=1.0, out=None)
Parameters:
input(Tensor): Входная матрица, добавляемая к результату.mat1(Tensor): Первая матрица с формой (n, m).mat2(Tensor): Вторая матрица с формой (m, p).beta(float, необязательный): Коэффициент, на который умножается input, по умолчанию 1.0.alpha(float, необязательный): Коэффициент, на который умножается результат mat1 @ mat2, по умолчанию 1.0.out(Tensor, необязательный): Выходной тензор.
Возвращаемое значение:
torch.Tensor: Возвращает сумму результата матричного умножения и входной матрицы с формой (n, p).
Пример использования
Пример
import torch
# Создайте входную матрицу и две матрицы
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Выполните addmm
result = torch.addmm(input, mat1, mat2)
print("Форма входной матрицы:", input.shape)
print("Форма матрицы 1:", mat1.shape)
print("Форма матрицы 2:", mat2.shape)
print("Форма результата:", result.shape)
print(result)
# Создайте входную матрицу и две матрицы
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Выполните addmm
result = torch.addmm(input, mat1, mat2)
print("Форма входной матрицы:", input.shape)
print("Форма матрицы 1:", mat1.shape)
print("Форма матрицы 2:", mat2.shape)
print("Форма результата:", result.shape)
print(result)
Результат вывода:
输入矩阵形状: torch.Size([3, 3])
矩阵1形状: torch.Size([3, 4])
矩阵2形状: torch.Size([4, 3])
结果形状: torch.Size([3, 3])
tensor([[ 0.4692, -0.2864, -0.6013],
[ 1.5525, 0.1233, -0.0182],
[-0.3956, 0.6267, 0.3580]])
Пример — использование параметров alpha и beta
import torch
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Используйте параметры alpha и beta
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Эквивалентно: result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Используйте параметры alpha и beta
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Эквивалентно: result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
Другие расширения