torch.Tensor与torch.tensor的区别
区别一:torch.Tensor
是torch.empty
与torch.tensor
的混合,在传入数据时,torch.Tensor
使用全局默认类型(FloatTensor)而torch.tensor
则会从输入数据中进行推断;
区别二:当输入数据是一个常数n
时,torch.Tensor
会将n
是为一维张量的元素个数,并随机初始化。而torch.tensor
则会将n
视作一个数字而不是元素个数。例如:
torch.Tensor(6)
# tensor([2.7626e-06, 1.0871e-05, 3.4008e-06, 5.2903e-08, 2.1877e-04, 1.7377e-04])
torch.tensor(6)
# tensor(6)
区别三:torch.Tensor
是一个类,会调用自己的构造函数,而torch.tensor
则是一个函数,其原型为:
torch.tensor(data, dtype=None, device=None, requires_grad=False)