Bootstrap

torch.addmm(M, mat1, mat2)是怎么计算的

一、函数解释
在torch/_C/_VariableFunctions.py的有该定义,意义就是实现一下公式:

在这里插入图片描述

换句话说,就是需要传入5个参数,mat里的每个元素乘以beta,mat1和mat2进行矩阵乘法(左行乘右列)后再乘以alpha,最后将这2个结果加在一起。但是这样说可能没啥概念,接下来博主为大家写上一段代码,大家就明白了~

>>> M=torch.ones(2,3)
>>> M
tensor([[1., 1., 1.],
        [1., 1., 1.]])
>>> mat1 = 2*torch.ones(2,3)
>>> mat1
tensor([[2., 2., 2.],
        [2., 2., 2.]])
>>> mat2 = 3*torch.ones(3,3)
>>> mat2
tensor([[3., 3., 3.],
        [3., 3., 3.],
        [3., 3., 3.]])
>>> torch.addmm(M, mat1, mat2)
tensor([[19., 19., 19.],
        [19., 19., 19.]])

即mat1mat2+M, 算出来的23矩阵结果都是19.

;