Pytorch入門:tensor張量的構建

靡非斯特發表於2024-08-11

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

相關文章