tensor資料結構是pytorch的基礎與核心,本文主要介紹三種常用的tensor張量的構建方式。
1.從已有其他資料轉換為tensor資料
常用方法有如下兩種:
torch.tensor
torch.Tensor
上述兩種方法有細微的差別,具體透過示例來進行展示
執行結果為
首先,torch.tensor
會對轉換前容器內元素的資料型別保留下來,在上例中,列表內的元素資料型別為int型,經過轉換後元素資料型別不變;而採用torch.Tensor
,元素資料型別被轉換為float
型。
其次,當輸入為一個整數時,Tensor初始化會返回以此整數為長度的一維全零向量,而tensor只返回含該整數的零維向量。
基於已有資料建立tensor資料還有兩種方式
from_numpy
as_tensor
兩者與上述方式的區別在於,原容器和轉換後的tensor時共享記憶體的。如下例所示
當改變A中的元素時,A1中的元素也隨之改變。
2.隨機初始化tensor
常用方法如下
torch.xxxxx : 建立一個特定的tensor,如torch.ones、torch.random等,和numpy中的用法類似
torch.xx_like: 根據已有tensor建立一個同結構的tensor,如torch.ones_like,torch.random_like等
3.從已儲存檔案載入tensor
實現讀取和儲存的函式如下所示
torch.save
torch.load