评价此页

torch.addmv#

torch.addmv(input, mat, vec, *, beta=1, alpha=1, out=None) Tensor#

执行矩阵 mat 与向量 vec 的矩阵-向量乘积。向量 input 被加到最终结果中。

如果 mat 是一个 (n×m)(n \times m) 张量,vec 是一个大小为 m 的一维张量,那么 input 必须与大小为 n 的一维张量 兼容广播,并且 out 将是一个大小为 n 的一维张量。

alphabeta 分别是矩阵-向量乘积 mat@vec\text{mat} \mathbin{@} \text{vec} 和添加的张量 input 的缩放因子。

out=β input+α (mat@vec)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat} \mathbin{@} \text{vec})

如果 beta 为 0,则 input 的内容将被忽略,其中的 naninf 也不会被传播。

对于 FloatTensorDoubleTensor 类型的输入,参数 betaalpha 必须是实数,否则它们应该是整数。

参数
  • input (Tensor) – 要相加的向量

  • mat (Tensor) – 要进行矩阵乘法的矩阵

  • vec (Tensor) – 要进行矩阵乘法的向量

关键字参数
  • beta (Number, optional) – input 的乘数(β\beta

  • alpha (Number, optional) – mat@vecmat @ vec 的乘数(α\alpha

  • out (Tensor, optional) – 输出张量。

示例

>>> M = torch.randn(2)
>>> mat = torch.randn(2, 3)
>>> vec = torch.randn(3)
>>> torch.addmv(M, mat, vec)
tensor([-0.3768, -5.5565])