torch.Tensor和torch.tensor的區別
介紹
在PyTorch 中,torch.Tensor
是主要的tensor類,所有的tensor都是torch.Tensor
的實例。
torch.Tensor
是torch.FloatTensor
的別名。
而torch.tensor
是一個函數,返回的是一個tensor,在ptorch官方文檔中,描述如下:
torch.tensor(data, dtype=None, device=None, requires_grad=False) → Tensor
Constructs a tensor with data.
區別1
所以需要注意的一點是:
torch.Tensor(data)
是將輸入的data轉化torch.FloatTensor
torch.tensor(data)
:(當你未指定dype
的類型時)將data轉化為torch.FloatTensor
、torch.LongTensor
、torch.DoubleTensor
等類型,轉化類型依據於data的類型或者dtype
的值
區別2
tensor_without_data = torch.Tensor()
可以創建一個空的FloatTensor
而當你使用tensor_without_data = torch.tensor()
時候則會報錯。