torch.Tensor
本筆記引用自PyTorch中文文檔
torch.Tensor
是一種包含單一數(shù)據(jù)類型元素的多維矩陣
Torch定義了7種CPU tensor和8種GPU tensor類型:
Data type | CPU tensor | GPU tensor |
---|---|---|
32-bit floating point | torch.FloatTensor |
torch.cuda.FloatTensor |
64-bit floating point | torch.DoubleTensor |
torch.cuda.DoubleTensor |
16-bit floating point | N/A | torch.cuda.HalfTensor |
8-bit integer (unsigned) | torch.ByteTensor |
torch.cuda.ByteTensor |
8-bit integer (signed) | torch.CharTensor |
torch.cuda.CharTensor |
16-bit integer (signed) | torch.ShortTensor |
torch.cuda.ShortTensor |
`32-bit integer (signed) | torch.IntTensor |
torch.cuda.IntTensor |
64-bit integer (signed) | torch.LongTensor |
torch.cuda.LongTensor |
-
torch.Tensor
是默認的tensor類型(torch.FloatTensor
)的簡稱。 - 每個張量tensor都有一個相應(yīng)的
torch.Storage
用來保存其數(shù)據(jù)攒巍。會改變tensor的函數(shù)操作會用一個下劃線后綴來標示册养。
Tensor
類的構(gòu)造函數(shù):
class torch.Tensor
class torch.Tensor(*sizes)
class torch.Tensor(size)
class torch.Tensor(sequence)
class torch.Tensor(ndarray)
class torch.Tensor(tensor)
class torch.Tensor(storage)
apply_(callable) -> Tensor
:
將函數(shù)callable
作用于tensor中每一個元素秤标,并將每個元素用callable
函數(shù)返回值替代闷堡。該函數(shù)只能在CPU tensor中使用秒梅,且不應(yīng)用在有較高性能要求的代碼塊
byte() -> Tensor
:
將tensor改為byte類型
clone() -> Tensor
:
返回與原tensor有相同大小和數(shù)據(jù)類型的tensor
contiguous() -> Tensor
:
返回一個內(nèi)在連續(xù)的有相同數(shù)據(jù)的tensor, 如果原tensor內(nèi)存連續(xù)則返回原tensor屋确。
cpu() -> Tensor
:
如果在CPU上沒有該tensor桥爽,則會返回一個CPU的副本朱灿。
cuda(device=None, async=False)
:
返回此對象在GPU內(nèi)存中的一個副本。若已在CUDA存儲中并且在正確的設(shè)備上钠四,則不會進行復(fù)制并返回原對象盗扒。
- device(int) - 目的GPU的id,默認為當前的設(shè)備
data_ptr() -> int
:
返回tensor第一個元素的地址。
fill_(value) -> Tensor
:
將該tensor用指定的數(shù)值填充侣灶。
half()
:
將tensor投射為半精度浮點類型
is_contiguous() -> bool
:
如果tensor在內(nèi)存中是連續(xù)的則返回True
习霹。
repeat(*sizes)
:
沿著指定的維度重復(fù)tensor,不同于expand()
炫隶,本函數(shù)是復(fù)制tensor中的數(shù)據(jù)
- sizes(torch.Size or int) - 沿每一維重復(fù)的次數(shù)淋叶。
storage() -> torch.Storage
:
返回底層內(nèi)存
stride() -> Tensor
:
返回tensor的步長。
type(new_type=None, async=False)
:
將對象投為指定的類型伪阶,如果已經(jīng)是正確的類型煞檩,則不會復(fù)制并返回原對象。