听李沐老师讲深度学习时候解释pytorch不区分行向量和列向量,只相当于是一维数组,一维张量一定是行向量,相当于数组,而行列向量可以放到矩阵中看。
测试如下:
r=torch.tensor([1,2,3],dtype=torch.float32)
print(r,r.T)
结果:
说明确实行和列向量没有区分
再看看在矩阵与向量乘法中向量的角色
r=torch.tensor([1,2,3],dtype=torch.float32)
print(r,r.T)
m=torch.ones(3,3)
print(torch.mv(m,r))
print(torch.mv(r.T,m))
可以看出,在乘法中矩阵右乘向量可以得到正确结果,向量乘矩阵报错,因此在pytorch中还是倾向于将向量理解成列向量比较合适。