以下PyTorch函数(doc)的目的是什么:
torch.addmm(beta=1, mat, alpha=1, mat1, mat2, out=None)
更具体地说,有没有理由更喜欢这个功能,而不仅仅是使用
beta * mat + alpha * (mat1 @ mat2)
答案 0 :(得分:2)
addmm
函数是等式beta*mat + alpha*(mat1 @ mat2)
的优化版本。我运行了一些测试并计算了他们的执行时间。
如果beta=1, alpha=1
,那么两个语句(addmm
和手册)的执行大致相同(addmm
只是快一点),无论矩阵如何大小
如果beta
和alpha
不是1,则addmm
比小型矩阵的手动执行快两倍(总数为10的元素 5 )。但是,如果矩阵很大(按10 6 的顺序),加速似乎可以忽略不计(39ms
v / s 41ms
)