tensor 的操作分为两种
1、数学运算
2、torch的高级操作
第一种
x = torch.ones(3,4)
y = torch.ones(3,4)
z = torch.ones(4,3)
k0 = x + 3#矩阵和标量运算
k1 = torch.add(x,3)#矩阵和矩阵运算
k2 = x + y
k3 = torch.add(x,y)
k4 = torch.mm(x,z)
torch.mm(a,b)
表示矩阵相乘,必须满足内标相等,是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵
torch.mul(a,b)
矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵
print('x',x)
print('y',y)
print('z',z)
print('k0:',k0)
print('k1',k1)
print('k2',k2)
print('k3',k3)
print('k4',k4)
输出
x tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
y tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
z tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
k0: tensor([[4., 4., 4., 4.],
[4., 4., 4., 4.],
[4., 4., 4., 4.]])
k1 tensor([[4., 4., 4., 4.],
[4., 4., 4., 4.],
[4., 4., 4., 4.]])
k2 tensor([[2., 2., 2., 2.],
[2., 2., 2., 2.],
[2., 2., 2., 2.]])
k3 tensor([[2., 2., 2., 2.],
[2., 2., 2., 2.],
[2., 2., 2., 2.]])
k4 tensor([[4., 4., 4.],
[4., 4., 4.],
[4., 4., 4.]])