数值运算
1.张量对象已覆盖使用Python数值运算,并且运算符与普通运算符一样。张量—标量操作就是一种。
>>>x=torch.ones(3,2)#新建一个3*2的张量
>>>x
tensor([[1., 1.],
[1., 1.],
[1., 1.]])
>>>y=torch.ones(3,2)+2
>>>y
tensor([[3., 3.],
[3., 3.],
[3., 3.]])
>>>z= torch.ones(2,1)
>>>z
tensor([[1.],
[1.]])
>>>x*y@z #@是矩阵乘法运算符
tensor([[6.],
[6.],
[6.]])
2.运算符+或add函数,可以将两个相同形状得张量相加,以获得相同形状得输出张量。Pytorch遵循为同一操作使用后缀下划线得惯例,但这会发生in-place。
>>>z=x.add(y)
>>>print(z)
tensor([[4., 4.],
[4., 4.],
[4., 4.]])
>>>z=x.add_(y)
>>>print(z)
tensor([[4., 4.],
[4., 4.],
[4., 4.]])
a.add(b)得到一个新的张量,不会对现有得a,b进行更改。但是a.add_(b)使用求和结果更新张量a,并返回更新后得a。这是用于Pytorch中得所有操作。