torch.Tensor 和 torch.tensor 的区别

在 Pytorch 中,Tensor 和 tensor 都用于生成新的张量,但二者并不相同。

a = torch.Tensor([1, 2])
a  # tensor([1., 2.])
a=torch.tensor([1,2])
a  # tensor([1, 2])

torch.Tensor

torch.Tensor()是默认张量类型torch.FloatTensor()的别名,生成单精度浮点类型的张量。

a=torch.Tensor([1,2])
a.type()  # 'torch.FloatTensor'

torch.tensor()

torch.tensor()的函数原型为

torch.tensor(data, dtype=None, device=None, requires_grad=False)
  • data 类型可为:list, tuple, array, scalar 等;
  • torch.tensor()可根据原始数据类型生成相应类型的 tensor;
a = torch.tensor([1, 2])
a.type()  # 'torch.LongTensor'
a = torch.tensor([1., 2.])
a.type() # 'torch.FloatTensor'
a = np.zeros(2, dtype=np.float64)
a = torch.tensor(a)
a.type()  # torch.DoubleTensor

你可能感兴趣的:(填坑小能手,python)