pytorch addcmul函数用法

torch.addcmul用法

参考:torch.addcmul — PyTorch 1.12 documentation

  • 函数说明:

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

o u t i = i n p u t i + v a l u e × t e n s o r 1 i × t e r s o r 2 i out_i = input_i+value\times tensor1_i \times tersor2_i outi=inputi+value×tensor1i×tersor2i

要求input,tensor1以及tensor2必须是可广播的,后面将举例说明。

  • 变量说明:
  • input(Tensor):加数;

  • tensor1(Tensor):乘数;

  • tensor2(Tensor):乘数;

  • 参数说明:

可以省略的参数;

  • value(Number,optional)用于和tensor1,tensor2相乘;

  • out(Tensor):输出张量

  • 举例

首先举例一个不需要使用广播机制的

代码:

import torch
t = torch.tensor([[1., 2., 3.]])  
t1 = torch.tensor([[1., 1., 1.]])  
t2 = torch.tensor([[3., 2., 1.]])  
print(torch.addcmul(t, tensor1=t1, tensor2=t2, value=0.1))

输出为:

tensor([[1.3000, 2.2000, 3.1000]])

举例需要广播机制的情况,Tensor会自动根据大小进行扩展,确保运算可以正常进行;

代码:

import torch
t = torch.tensor([[1., 2., 3.]])  
t1 = torch.tensor([[1.], [1.], [1.]])  
t2 = torch.tensor([[3., 2., 1.]])  
print(torch.addcmul(t, tensor1=t1, tensor2=t2, value=0.1))

输出为:

tensor([[1.3000, 2.2000, 3.1000],
        [1.3000, 2.2000, 3.1000],
        [1.3000, 2.2000, 3.1000]])

你可能感兴趣的:(pytorch学习记录,pytorch,深度学习,python)