torch.addcmul

torch.addcmul(input, tensor1, tensor2, *, value=1, out=None) Tensor

tensor1tensor2进行逐元素乘法运算,将结果与标量value相乘,最后加到input上。

$\text{out}_i = \text{input}_i + \text{value} \times \text{tensor1}_i \times \text{tensor2}_i$

tensors、tensor1tensor2 的形状必须是可广播的

当输入类型为FloatTensorDoubleTensor时,value必须是实数;否则,它必须是整数。

参数
  • input (Tensor) – 需要添加的张量

  • tensor1 (Tensor) – 将要进行相乘操作的张量

  • tensor2 (Tensor) – 需要与另一个张量相乘的张量

关键字参数
  • value (Number, 可选) - 用于$tensor1 .* tensor2$的乘数

  • out (Tensor, 可选) – 指定输出张量。

示例:

>>> t = torch.randn(1, 3)
>>> t1 = torch.randn(3, 1)
>>> t2 = torch.randn(1, 3)
>>> torch.addcmul(t, t1, t2, value=0.1)
tensor([[-0.8635, -0.6391,  1.6174],
        [-0.7617, -0.5879,  1.7388],
        [-0.8353, -0.6249,  1.6511]])
本页目录