今天繼續我的 PyTorch 線上學習, 本系列之前的筆記參考 :
課程筆記摘要如下 (在 Colab 中練習) :
- 匯入 torch 套件 :
Colab 已經內建 PyTorch (注意, 套件名稱為 torch 而非 pytorch), 不需要安裝, 可用 !pip show torch 檢查目前的版本 :!pip show torch
可見目前是 1.11 版. 這樣就可以直接匯入 torch 套件 :
import torch - 呼叫 torch.empty() 建立一個空張量 :
呼叫 torch.empty(列數, 行數 [dtype]) 即可建立一個內容為空的張量, 注意, 傳入的前兩個為代表陣列列數 (row) 與行數 (column) 之整數 :x=torch.empty(5, 3) # 建立一個 5 列 3 行的空張量print(x)
顯示 x 裡面並非為空, 因 empty() 其實只是不初始化內容而已, 所以裡面是記憶體的殘留資料. 也可以將列與行放在一個 tuple 或 list 中傳入 :torch.empty((5, 3))torch.empty([5, 3])
以下所有建立張量之函式, 其 size 皆是如此. - 呼叫 torch.rand() 建立一個均勻分布的隨機張量 :
呼叫 torch.rand(列數, 行數) 即可建立一個內容為 0~1 均勻分佈的張量 :torch.rand(5, 3) - 呼叫 torch.zeros() 建立一個零張量 :
可以傳入 dtype 參數指定內容之資料型態 :torch.zeros(5, 3, dtype=torch.long)
也可以傳入 float16, float32, float64 (=double) 指定為浮點數 :torch.zeros(5, 3, dtype=torch. float64)
可見值同樣是 0, 浮點數類型者後面都帶一個小數點. - 呼叫 torch.ones() 建立一個壹張量 :torch.ones(5, 3, dtype=torch. float64)
- 呼叫 torch.Tensor() 建立張量 :
可以傳入以串列或 tuple 表示的向量或矩陣 : - 呼叫已存在的 Tensor 物件的 new_ones() 方法建立壹陣列 :x=x.new_ones(5, 3, dtype=torch.double)print(x)
可見原本的張量物件 x 被取代了. - 呼叫 torch.randn_like() 依據已知張量物件尺寸建立隨機張量 :x=torch.randn_like(x, dtype=float)print(x)
此處是在依照原張量 x 的尺寸建立一個常態分布 (平均值=0, 標準差=1) 的隨機張量.
沒有留言 :
張貼留言